الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

انشاء Label داخل New Threard

بدأه محمد الامين في 1 نوفمبر 2008 · 3 رد · 988 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ياشباب

عندى مشكلة غريبة فى برنامجى وهى كالاتى

انا عملت

New thread

بس المشكلة مابقدر استخدم اى

label

داخل ال ثيرد الجديد

لو فى واحد بيعرف كيف ممكن اسوى ليبل من داخل الثيرد الجديد؟!!

تحياتى

..

عن أبي هريرة رضي الله عنه عن النبي صلى الله عليه وسلم أنه قال: سيأتي على الناس زمان سنوات خداعات: يصدق فيها الكاذب ويكذب فيها الصادق، ويؤتمن فيها الخائن ويخون فيها الأمين، وينطق فيها الرويبضة. قيل يا رسول الله وما الرويبضة؟ قال: الرجل التافه ينطق في أمر العامة . رواه احمد والحاكم وصححه الالبانى من حديث ابى هريره.‏

#2

هل قصدك ب windows forms? .. لا يفضل استخدام ال controls من ثريد مختلف عن الثريد الأساسي .. لأن الcontrols ليست مبرمجة لتكون آمنة للوصول من عدة threads ..

يمكنك استدعاء تابع ليعمل في الثريد الأساسي باستخدام Control.Invoke . هذا التابع يمكنه ان ينشأ أو يعدل في الوندوز فورم.

Coding on the Cloud and for the Cloud!

My Blog

#3
private void Button1_Click(object sender, EventArgs e)
{
	  new Thread(new ThreadStart(this.changeTextBox1)).Start();
}

// for TextBox1 only
private void changeTextBox1()
{
	  if (this.TextBox1.InvokeRequired)
			MessageBox.Show("انت تحاول الوصول الى الاداة من مسار تنفيذي اخر.");
	  else
			this.TextBox1.Text = DateTime.Now.ToString();
}

// for all controls in current form.
protected void ChangeText()
{
	  if(this.InvokeRequired) {
			// Invoke was required, so invoke this method and return.
			MethodInvoker method = new MethodInvoker(ChangeText);
			this.Invoke(method);
			return;
	  }
	  // TODO: Add you update contorl
	  textBox1.Text = DateTime.Now.ToString();
	  textBox2.Text = DateTime.Now.ToString();
	  textBox3.Text = DateTime.Now.ToString();
}

من مقالة الاخ تركى العسيرى مسارات التنفيذ مع Windows Forms

مواضيع متنوعة

#4
هاني الأتاسي كتب:
هل قصدك ب windows forms? .. لا يفضل استخدام ال controls من ثريد مختلف عن الثريد الأساسي .. لأن الcontrols ليست مبرمجة لتكون آمنة للوصول من عدة threads ..

يمكنك استدعاء تابع ليعمل في الثريد الأساسي باستخدام Control.Invoke . هذا التابع يمكنه ان ينشأ أو يعدل في الوندوز فورم.

اشكرك على التوضيح اخى هانى فعلا هذا ما اقصد

لك التحية ايضا اخى Moudey

جارى التصحيح ..

عن أبي هريرة رضي الله عنه عن النبي صلى الله عليه وسلم أنه قال: سيأتي على الناس زمان سنوات خداعات: يصدق فيها الكاذب ويكذب فيها الصادق، ويؤتمن فيها الخائن ويخون فيها الأمين، وينطق فيها الرويبضة. قيل يا رسول الله وما الرويبضة؟ قال: الرجل التافه ينطق في أمر العامة . رواه احمد والحاكم وصححه الالبانى من حديث ابى هريره.‏

مواضيع مشابهة