PDA

View Full Version : سوال: مشکل با thread و event



sds1920
یک شنبه 24 بهمن 1389, 12:07 عصر
سلام خدمت همه ی دوستان.
من یک کلاس نوشتم.توی این کلاس یک thread و یک event دارم.این event رو از داخل thread فرخوانی می کنم به صورت زیر :


public void Connect()
{
this.IsConnected = true;
this.thrReceive = new System.Threading.Thread(this.ReceivedData);
this.thrReceive.Start();
}

private void ReceivedData()
{
while(this.IsConnected)
{
byte[] buff = new byte[this.BufferSize];
this.mainSocket.Receive(buff);
this.Message = this.DecodeMessage(buff);

if (this.ReceivedMessage != null)
this.ReceivedMessage(this, new MessageEventArgs(this.Message));
}
}
بعد توی برنامه event رو مثل زیر ایجاد می کنم


void Client_ReceivedMessage(object sender, EventArgs e)
{
txtLog.AppendText("recieved Message");
}
مشکل من همینجاست.یعنی زمانی که ReceivedMessage فراخوانی می شه و می خواد متن رو به textBox اضافه کنه خطای زیر رو می ده :

Cross-thread operation not valid: Control 'txtLog' accessed from a thread other than the thread it was created on.

از دوستان کسی می دونه این خطا مال چیه و باید چکارش بکنم؟
ممنون.

hossin.esm
یک شنبه 24 بهمن 1389, 15:13 عصر
این لینک را ببینید
http://barnamenevis.org/showthread.php?272843-تداخل-Thread-ها