我的问题如下:我在Form load,button和combobox上创建了2个控件,我也有按钮事件,但事件应该能够看到新创建的组合框 . 当我尝试通过它的名称调用组合时,它表示它在此上下文中不存在private void Form1_Load(object sender,EventArgs e){Button przycisk = new Button(); przycisk.Name =“przycisk”; przycisk.Dock = DockStyle.Bottom; przycisk.Text =“Wybierz”;
ComboBox kombo = new ComboBox();
kombo.Name = "kombo";
kombo.Dock = DockStyle.Bottom;
kombo.Items.Add("Przycisk");
kombo.Items.Add("Etykeita");
kombo.Items.Add("Pole tekstowe");
Controls.Add(kombo);
Controls.Add(przycisk);
przycisk.Click += new EventHandler(przycisk_Click);
}
private void przycisk_Click(object sender, EventArgs e)
{
kombo.Items.Add("Panel"); //just an example
}
}
有没有办法使它工作?
2 回答
只有在runat =“server”标记中使用的控件才是页面上的类变量 . 它们实际上是在设计器文件中定义的 .
你想要做的是在类中添加类似下面的类,你有一个类变量,然后在页面加载函数中分配kombo . 然后,它将存在于您的单击事件处理程序中 .
您必须首先使用FindControl()方法来查找对象 .