错误:线程间操作无效:
1可以通过将 CheckForIllegalCrossThreadCalls 属性的值设置为 false 来禁用此异常。这会使控件以与在 Visual Studio 2003 下相同的方式运行。
例如:
namespace comcontrol
{
public partial class Form1 : Form
{
public string[] val = new string[5];
public Form1()
{
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;
}
}
}
2 定义一个代理类型
//******************************************************
//功能:实现代理机制,在接收文本框中显示接收到的数据
//******************************************************
//在跨线程,使用UI的txtmsg追加文本时。
public delegate void CompareDelegate(string a); //定义一个代理类型
public void CompareMethod(string data) //代理实现方法
{
if (this.textBox_Recive.InvokeRequired)
{
CompareDelegate myCompare = new CompareDelegate(CompareMethod); //代理实例化
this.textBox_Recive.Invoke(myCompare, new object[] { data });
}
else
{
textBox_Recive.Text += data;
}
}