c#子线程如何添加数据到winForm的Listview控件
Form1类里面有ListView控件,Test类的子线程,每秒钟产生1条数据类型(ListViewItemitem),需要添加到Form1的ListView里面,应该怎...
Form1类里面有ListView控件,Test类的子线程,每秒钟产生1条数据类型(ListViewItem item),需要添加到Form1的ListView里面,应该怎么写这样的代码?
展开
1个回答
展开全部
用Control.Invoke()方法:
Form1里加上如下内容
public delegate void AddListItem(String myString);
public AddListItem myDelegate;
public Form1()
{
myDelegate = new AddListItem(AddListItemMethod);
}
public void AddListItemMethod(String myString)
{
myListBox.Items.Add(myString);
}
Test类加如下代码:
Form1 myForm;
public Test(Form1 form)
{
myForm = form;
}
public void CreateList()
{
myForm.Invoke(myFormControl1.myDelegate,new Object[] {"数据"});
}
原理就是这样,具体实现你自已修改吧
Form1里加上如下内容
public delegate void AddListItem(String myString);
public AddListItem myDelegate;
public Form1()
{
myDelegate = new AddListItem(AddListItemMethod);
}
public void AddListItemMethod(String myString)
{
myListBox.Items.Add(myString);
}
Test类加如下代码:
Form1 myForm;
public Test(Form1 form)
{
myForm = form;
}
public void CreateList()
{
myForm.Invoke(myFormControl1.myDelegate,new Object[] {"数据"});
}
原理就是这样,具体实现你自已修改吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询