作者haman (...)
看板C_Sharp
标题[问题] thread的使用???
时间Mon Oct 12 17:49:07 2009
想请问一下
以下程式码thread的使用是否有误???
因为我使用button做Recieve的动作时
在richTextBox1会新增文字
但是使用thread後
却无法显示...
感觉起来它是有接收到别人传来的讯息
但是却显示不出来...
谢谢
--
private void Form1_Load(object sender, EventArgs e)
{
//IPAddress ipAddress = Dns.Resolve("localhost").AddressList[0];
IPAddress[] ips;
string hostname = "****";
ips = Dns.GetHostAddresses(hostname);
myTcpListener = new TcpListener(ips[0], 36000);
myTcpListener.Start();
mySocket = myTcpListener.AcceptSocket();
try
{
if (mySocket.Connected)
{
label1.Text = "连线中";
bb = new NetworkStream(mySocket);
//timer1.Start();
}
}
catch (Exception ee)
{
label1.Text = ee.Message;
}
Thread T = new Thread(new ThreadStart(myRecieve));
T.Start();
}
private void myRecieve()
{
while(true)
{
try
{
int dataLength;
byte[] myBufferBytes = new byte[1000];
if (mySocket.Connected)
{
dataLength = mySocket.Receive(myBufferBytes, 1000, 0);
richTextBox1.Text += "Client: " + Encoding.Unicode.
GetString(myBufferBytes, 0, dataLength);
richTextBox1.Text += "\n\r";
}
}
catch (Exception ee)
{
}
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.18.218
1F:→ ray2501:除了建立UI Control的那条执行绪外,不可以其它的去存取 10/12 21:17
2F:→ ray2501:看起来 Windows Form, check InvokeRequired property 10/12 21:18
3F:→ ray2501:然後看看有没有 Invoke() function 之类的 10/12 21:19
5F:→ haman:想请问一下 thread跟involk的关系是??? @ @" 10/12 23:27
6F:→ haman:还有请问一下 UI control是指form1的那个介面吗??? 10/13 03:17
7F:→ ZakFong:这我常用到 请参考1F提到的网址 要多设一个delegate 10/14 09:14
8F:→ ZakFong:然後你自己新增的thread要透过该delegate去存取 10/14 09:14
9F:→ ZakFong:UI上的Component 如TextBox之类 10/14 09:15
10F:→ haman:嗯嗯 已经试成功了 谢谢~ 10/15 14:19
11F:推 liaommx:M$ VS 应该会跳出视窗,说你不可以直接存取才对? 10/16 20:37