y
跨线程访问控件是不被允许的,需要判断是否是创建线程访问控件
//创建线程访问控件
if (!lstInfo.InvokeRequired)
{
ListViewItem lst = new ListViewItem(" " + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"), info);
lst.SubItems.Add(log); //在ListViewItem集合里面添加日志
lstInfo.Items.Insert(0, lst);
} else
{
//创建线程以外的线程想要访问
Invoke(new Action(() =>
{
ListViewItem lst = new ListViewItem(" " + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"), info);
lst.SubItems.Add(log);
lstInfo.Items.Insert(0, lst);
}));
}
for (int i = 0; i < 30; i++)
{
Thread.Sleep(500);
this.label2.Invoke(new Action<int>((int s) =>
{
this.label2.Text = s.ToString();
}), i);
}