【发布时间】:2018-04-28 14:40:03
【问题描述】:
我创建了一个动态表单,其中包含动态对象。但是由于某种原因,当我创建动态事件处理程序时,事件处理程序不会获取动态对象。也就是说,它们不会出现在 Visual Studios 的选项下拉列表中。
代码:
private void btnShop_Click(object sender, EventArgs e)
{
Form frmShop = new Form();
frmShop.Show();
Button newButton = new Button();
Button Add = new Button();
Label Meat = new Label();
Label Carrots = new Label();
Label DogFood = new Label();
Label Fish = new Label();
Label Rainbows = new Label();
frmShop.Controls.Add(Meat);
frmShop.Controls.Add(Carrots);
frmShop.Controls.Add(DogFood);
frmShop.Controls.Add(Fish);
frmShop.Controls.Add(Rainbows);
frmShop.Controls.Add(newButton);
frmShop.Controls.Add(Add);
frmShop.Size = new Size(300,300);
//HERE IS MY PROBLEM v //
frmShop.Controls.Add(lblCount)
}
【问题讨论】:
-
lblCount是什么,您有什么问题?你有错误吗? -
变量 Rainbow 是 btnShop_Click 的本地变量,您不能使用它的名称,希望您可以引用标签的方法和属性。您需要将控件移动到全局范围或为它们命名并从表单控件集合中检索它们
-
@CodingYoshi 抱歉,再次编辑。基本上,当单击动态创建的按钮时,标签 Rainbows 的文本必须更改。但是当我开始在我显示我想要它的地方输入 Rainbows 时,Rainbows 标签不会出现。当我完全输入它时,它只会给我错误“当前上下文中不存在名称'Rainbows'。
-
@Steve 是的!我在编码方面很菜鸟,我该如何解决?如何将其移动到全局范围?
标签: c# visual-studio visual-studio-2015 connection