都来分析一下-- --线程间操作无效的原因
昨天刚学Socket,遇到问题,至今没有整明白。请各位高手帮忙。
我是用异步来处理
socket.BeginAccept(....)
socket.BeginReceive(...)
。。。。。
我在服务器端 将 多个客户端多次发送的数据 显示到一个TextBox 中时,
报了一个错误:
线程间操作无效: 从不是创建控件“textBox1”的线程访问它。
请大家帮我分析一下产生这个错误的原因。
------解决方案--------------------
------解决方案--------------------
对于你的情况我可以想像一下大体的操作是这样的:
C# code
private delegate void ChangeText(string t);
//这是附加一段文本的
public void AppendText(string t)
{
if(textBox1.InvokeRequired)
{
ChangeText ct = new ChangeText(AppendText);
this.Invoke(ct,new object[]{t});
return;
}
textBox1.Text += t;
}
//这是完全重设文本的
public void SetText(string t)
{
if(textBox1.InvokeRequired)
{
ChangeText ct = new ChangeText(SetText);
this.Invoke(ct,new object[]{t});
return;
}
textBox1.Text = t;
}
------解决方案--------------------
顶,