【问题标题】:C# controling a panelC# 控制面板
【发布时间】:2013-07-02 13:42:44
【问题描述】:

我正在使用 microsoft visual c# 并制作表单。我不知道我的词汇是否正确,但我的想法是当我使用Panel Figure = new Panel (); 创建面板时 我无法控制它,即改变位置。当我尝试

Point MoveLeft = Figure.Location;            
MoveLeft.Offset(-25, 0);
Figure.Location = MoveLeft;

它需要名为“Figure”的现有面板,而我新创建的面板不响应命令。

还有什么方法可以让我创建面板时,它是一个已经存在的面板,即创建与面板“三角形”相同的面板?

【问题讨论】:

  • 基本上,您可以将面板添加到设计器中的表单并为其命名,然后您可以通过寻址该名称在表单代码中访问它。否则,当您按照自己的方式进行操作时,您需要将其添加为表单的子项。
  • 但我需要多个相同面板的副本,我不知道确切的数量

标签: c# forms controls panel


【解决方案1】:

如果您的表单上已经有一个名为“三角形”的面板,您可以简单地在这样的代码中引用它

triangle.Left = -25;

如果您创建一个新面板,您需要将其添加到表单的控件列表中

Panel Figure = new Panel();
Form1.Controls.Add(Figure);
Form1.Location = new Point(-25, 0);

【讨论】:

  • 好的,它会创建新的面板(我猜它叫图),但是当我后来写Figure.Location = MoveLeft; 时,它会移动面板图,这是我通过从工具箱中删除面板来形成的。如果我删除了我手动删除的那个,它会说“名称“图”不存在”。
  • 小心你的大小写。名为figure 的面板与名为Figure 的面板不是同一个对象。
  • 我的错误,它们都被称为相同
  • 你的命名都搞砸了。不要将事物称为“向左移动”。而是使用“leftPosition”等。
  • 如果您将面板从工具箱拖放到窗体上并使用“属性”窗口将其名称设置为“Figure”,然后您可以通过编写 Figure.Location = MoveLeft; 在代码中引用它。您不应该通过编写 Panel Figure = new Panel(); 来创建新面板;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-05
  • 2020-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-30
  • 2019-01-01
相关资源
最近更新 更多