PDA

View Full Version : عدم دسترسی به Label در رشته نخ ها



haghshenasmahdi
چهارشنبه 30 تیر 1400, 00:04 صبح
با سلام و احترام
دوستان من یک Thread در برنامه ام دارم .مشکل اینه داخل این نخ در تکست باکس ها و لیبل ها نمیتونم چیزی بنویسم . لطفا کمک کنید.
153430

barnamenevisjavan
چهارشنبه 30 تیر 1400, 20:36 عصر
کد رو داخل dispatcher بنویسید

haghshenasmahdi
چهارشنبه 30 تیر 1400, 21:30 عصر
راه دیگه ای هم وجود داره ؟؟

mazoolagh
پنج شنبه 31 تیر 1400, 08:50 صبح
پرسش مشابهی در این تاپیک (https://barnamenevis.org/showthread.php?564583) مطرح شده و پاسخ مشروحی داده شده که ممکنه مفید باشه.

Salar Ashgi
چهارشنبه 06 مرداد 1400, 12:28 عصر
با سلام و احترام
دوستان من یک Thread در برنامه ام دارم .مشکل اینه داخل این نخ در تکست باکس ها و لیبل ها نمیتونم چیزی بنویسم . لطفا کمک کنید.
153430

ببینید کنترل های فرم مثل تکست باکس ، لیبل و ... با ترد UI پیش فرض خود برنامه مدیریت میشن و برای همین شما نمی تونید با تردی غیر از این ، مقادیر شون رو تغییر بدید
و در اینصورت خطای Cross-Thread Operation رو دریافت می کنید ، برای اینکه این مشکل رخ نده باید از تابع Invoke استفاده کنید.


public void SetText()
{
label1.Invoke((MethodInvoker)(() => label1.Text = "Hello"));


}
private void Form1_Load(object sender, EventArgs e)
{
Thread t1 = new Thread(SetText);
t1.Start();
}