[c#WinForm]使用动态创建的按钮从另一个表单向listbox添加文本
我有以下表格: MainKozep:[c#WinForm]使用动态创建的按钮从另一个表单向listbox添加文本,c#,forms,listbox,C#,Forms,Listbox,我有以下表格: MainKozep: 包含tableLayoutPanel,其中包含: 面板-名为“panel1”(加载了选项卡(*)表单) 列表框-名为“tetels” 列表框-名为“tetels_ar” 将Tab1-Tab10加载至面板1的按钮 选项卡1: 有动态创建的按钮(来自数据库),每个按钮都是可单击的(使用button.Click+=delegate{}) 我尝试了很多解决方案,但都没有成功,所以我的问题是: 当在Tab(*)中单击其中一个按钮时,需要将确切的变量写入tete
- 包含tableLayoutPanel,其中包含:
- 面板-名为“panel1”(加载了选项卡(*)表单)
- 列表框-名为“tetels”
- 列表框-名为“tetels_ar”
- 将Tab1-Tab10加载至面板1的按钮
Dris如果动态创建了tetels和tetels_ar,则使用类范围实例化它们。然后,从buttonClick处理程序运行buttonClick,如下所示。在这里,我用一个字符串更新tetels,但您可以将该值设置为所需的任何变量:
ListBox tetels = new ListBox();
ListBox tetels_AR = new ListBox();
private void buttonClicked(string buttonName)
{
tetels.Items.Add(buttonName);
tetels_AR.Items.Add("otherValue" + buttonName);
}
如果使用许多不同的ListView,可以使用下面的代码动态添加。为每个动态创建的按钮指定my_Button_Clicked作为onClick事件,然后:
private void buttonClicked(string listName, string variableValue)
{
ListBox l = (ListBox)Controls.Find(listName, true)[0];
l.Items.Add(variableValue);
}
private void myButton_Clicked(object sender, EventArgs e)
{
Button b = (Button)sender;
buttonClicked("tutels", b.Name);
buttonClicked("tutels_AR", b.Text);
}
按如下方式创建按钮:
private void createButton(string name, string buttonText,string parentControlName)
{
Button b = new Button();
b.Name = name;
b.Text = buttonText;
b.Click += myButton_Clicked;
Control c = Controls.Find(parentControlName, true)[0];
c.Controls.Add(b);
}
tetels和tetels是静态的,按钮是动态创建的。示例:若我单击Form2上的按钮中的一个,这将向Listbox(名为tetels)写入一个字符串-witch位于Form1上