窗口1调用窗口2中的listbox控件更新数据,使用委托,代码实现。需要跨UI线程
时间: 2024-02-19 21:04:13 浏览: 63
在ListBox控件间实现数据交换
4星 · 用户满意度95%
好的,我会为您提供代码实现。在窗口1中,您需要定义一个委托来更新窗口2中的listbox控件。代码如下所示:
```
public delegate void UpdateListBoxDelegate(string[] items);
public void UpdateListBox(string[] items)
{
if (listBox.InvokeRequired)
{
UpdateListBoxDelegate del = new UpdateListBoxDelegate(UpdateListBox);
listBox.Invoke(del, new object[] { items });
}
else
{
listBox.Items.Clear();
listBox.Items.AddRange(items);
}
}
```
然后,在窗口1中调用这个委托来更新窗口2中的listbox控件。代码如下所示:
```
if (form2.InvokeRequired)
{
UpdateListBoxDelegate del = new UpdateListBoxDelegate(form2.UpdateListBox);
form2.Invoke(del, new object[] { items });
}
else
{
form2.UpdateListBox(items);
}
```
其中,form2是窗口2的实例。您可以根据您的实际情况来替换它。
至此,您可以在窗口1中调用委托来更新窗口2中的listbox控件了。
阅读全文