也就是说ListBox是原来线程创建的,则新的线程是不能访问它的。
那么该如何访问这个控件啊?(新线程是不断监听端口,连接成功后必须要访问ListBox啊!)
哦,也就是说对 ListBox1的调用必须检查它的InvokeRequired是否为True,如果为True的话就得更改Invoke?
delegate void SetTextCallback(string text);
private void SetText(string text)
{
if (this.listBox1.InvokeRequired)
{
SetTextCallback d = new SetTextCallback(SetText);
this.Invoke(d, new object[] { text });
}
else
{
this.listBox1.Items.Add(text);
}
}
好像不很方便啊!
SWC:怎么关闭检查?怎么设置?不会弄
public static bool CheckForIllegalCrossThreadCalls { get; set; }