都来分析一下-- --线程间操作无效的原因
昨天刚学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;}
[解决办法]
顶,