CSharp-利用委托解决跨线程操作控件产生的问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
private delegate void AddVirus(string name);  
//声明一个委托。当然AddVirus是什么都可以,自己取。括号内的参数也根据实际情况自己决定
void SearchVirus(string path)
{
if (VirusList.InvokeRequired)//判断VirusList这个控件是不是该线程创建的,如果为true则不是
{
AddVirus add = new AddVirus(SearchVirus);//实例化委托
VirusList.Invoke(add, path);//重新调用
}
else
{
VirusList.Items.Add(filename);//如果VirusList是该线程创建的,则执行添加操作
}
}

CSharp-利用委托解决跨线程操作控件产生的问题
http://blog.chcaty.cn/2018/03/14/csharp-li-yong-wei-tuo-jie-jue-kua-xian-cheng-cao-zuo-kong-jian-chan-sheng-de-wen-ti/
作者
caty
发布于
2018年3月14日
许可协议