我有一个Excel插件,它调用一个带有列表框的 Windows 窗体。在显示表单之前,我想ListBox根据Excel 中的值动态填充表单。Winform 如下所示:功能区中的按钮单击如下所示:private void button1_Click(object sender, RibbonControlEventArgs e){ Form1 fm = new Form1(); System.Windows.Forms.ListBox lbx = fm.Controls.Find("listBox1", true).FirstOrDefault() as System.Windows.Forms.ListBox; lbx.Items.AddRange(new object[] { 1, 2, 3, 4, 5 }); fm.Show();}是System.Windows.Forms.ListBox lbx = fm.Controls.Find("listBox1", true).FirstOrDefault() as System.Windows.Forms.ListBox;访问ListBox和添加Items的最佳方式?或者还有其他方法吗?
2 回答
森林海
TA贡献2011条经验 获得超2个赞
在您的场景中,由于您每次希望显示它时都会创建一个新的 Form1 实例,并且由于它是一个自定义表单,因此我将简单地修改表单的构造函数以接受输入数据。
public Form1(object[] ListBoxData)
{
...
listBox1.Items.AddRange(ListBoxData);
}
然后,您可以在单击按钮时简单地传递值;
Form1 fm = new Form1(new object[] { 1, 2, 3, 4, 5 });
fm.Show();
蝴蝶不菲
TA贡献1810条经验 获得超4个赞
根据 Chetan 的建议: 属性:
public object[] ListBoxData
{
set
{
listBox1.Items.AddRange(value);
}
}
按钮点击的变化:
Form1 fm = new Form1();
fm.ListBoxData = new object[] { 1, 2, 3, 4, 5 };
fm.Show();
- 2 回答
- 0 关注
- 320 浏览
添加回答
举报
0/150
提交
取消