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

تعديل أداة في Form من Form آخر

بدأه سي شربة في 18 أبريل 2012 · 11 رد · 961 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

لنفترض أن لدي فورمان ولدي في الفورمان textbox

كيف أجعل التكست بوكس الذي في Form2 يساوي التكست بوكس اللي في Form1

أنا أعرف الكود بـ visual basic بس كيف أسويه بالـc#

Form1.TextBox1.Text = TextBox1.Text

تم تعديل هذه المشاركة بواسطة سي شربة في 18 أبريل 2012 في 16:16

vr7y9y10.jpg
#3

رجاءً أخي ممكن شرح أكثر :blush:

vr7y9y10.jpg
#4
سي شربة كتب:

السلام عليكم ورحمة الله وبركاته

لنفترض أن لدي فورمان ولدي في الفورمان textbox

كيف أجعل التكست بوكس الذي في Form2 يساوي التكست بوكس اللي في Form1

أنا أعرف الكود بـ visual basic بس كيف أسويه بالـc#

Form1.TextBox1.Text = TextBox1.Text

الحل أنك تعدل الـ Modifiers للأداة المطلوب التحكم بها.. تغير الخاصية من Private إلى Internal وبعد ذلك يمكنك الولوج إليها من أي مكان بالبرنامج

مثلاً تعدل الـ Modifires للـ TextBox الموجود في الـ Form1

عندها يمكنك في الـ Form2 كتابة التالي:

this.textBox.text=Form1.textBox.text;

وفي طرق أخرى.. لكن هذه أسهل طريقة موجودة.

بالتوفيق.

#5

مشكور أخوي بس لاتزال المشكلة قائمة :wacko:

تم تعديل هذه المشاركة بواسطة سي شربة في 19 أبريل 2012 في 22:00

vr7y9y10.jpg
#6

iهناك طريقة و هي انك تعمل كونستركتور للفورمة اللي فيها التكست بتقبل باراميتر من نوع سترينج و تكون رابط الباراميتر دا بالتكست بوكس تكست اللي انت عايز تغيره

و انت بتعرض الفورمة تنادي الكونستركتور اللي انت عملته مش الكونستركتور العادي و تمرر فيه الباراميتر زي ما انت عايز

1
#7

السلام عليكم ورحمة الله وبركاته

بسم الله الرحمن الرحيم

الإخوة الأحبة

هذه أول مشاركة لي وأحببت أن تكون طاعة لله مستمدة من قول الرسول محمد صلى الله عليه وسلم "والله في عون العبد ما كان العبد في عون أخيه" و قوله : "من يسر على معسر يسر الله عليه في الدنيا والآخره" .

الأخ الكريم صاحب السؤال :

الجواب:

حتى نبقى في سياق وقواعد البرمجة OOP فإن الفورم2 هو صنف ومن الأفضل أن نكلفه هو مهمة تغيير عناصره بدل من التحكم بها من خارجه ولهذا من الأفضل أن ننشيء إجراء داخل الفورم2 نمرر له البارمترات اللازمة (وفي حالتنا هذه هي قيمة التيكست بوكس) وندع هذا الإجراء هو الذي يغير قيمة التيكست بوكس التابع له

الفكرة مشابه جدا لجواب الأخ : Eng.Mr.Ahmed الرد الذي قبلي إلا أنه ليس بالضرورة أن يكون مشيد لأني فهمت من السؤال أن التغيير يجب أن يكون كلما تم تغيير قيمة التيكست بوكس في الفورم الأول الأساسي وليس فقط عند إظهار الفورم الثاني.

ومن هذا المنطلق قلت أن يكون إجراء عام وليس مشيد.

ومنه فالحل يكون كما يلي :

إنشاء الإجراء داخل الفورم2

    	internal void SetTextValue(string rValue)
    	{
        	textBox1.Text = rValue;
    	}

و تعريف متحول من النوع فورم2 داخل الفورم1 وإنشاء كائن منه ثم إظهاره

ونطلب منه تحديث قيمة التيكست بوكس باستدعاء الإجراء السابق وتمرير القيمة ويتم ذلك داخل حدث تغيير قيمة التيكست بوكس.

	public partial class Form1 : Form
	{
        	public Form2 form2;

        	public Form1()
        	{
                	InitializeComponent();
                	form2 = new Form2();
                	form2.Show();
        	}

        	private void textBox1_TextChanged(object sender, EventArgs e)
        	{
         	   	form2.SetTextValue(textBox1.Text);
        	}
	}

والحمد لله رب العالمين

تم تعديل هذه المشاركة بواسطة المبرمج أبو أحمد في 26 أبريل 2012 في 13:06

2

ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها

كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور

الدورة التطبيقية لتعليم التصميم بالإليستريتور

#8

form1.textbox1.text=form2.textbox1.text

هيك انا بعرف انو بزبط

#9
s_ibrahem_e كتب:

form1.textbox1.text=form2.textbox1.text

هيك انا بعرف انو بزبط

أخي الكريم جزاك الله خيرا

هذا السطر لا يصح إلا إذا جعلت عنصر التيكست بوكس في الفورم الثاني من النوع عام public لأنه في الأصل داخلي وغير مرئي للخارج.

ولهذا تم طرح فكرة أن تجعل الفورم الثاني هو من يغير عنصره بدل من تغييرها من الخارج

1

ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها

كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور

الدورة التطبيقية لتعليم التصميم بالإليستريتور

#10

جزاك الله كل خير اخوي المبرمج ابو محمد

بس يا خوي انا اجديد في المنتدى ومش عارف اتعامل معه

وعندي سؤال ومو عارف اتعامل معه وين احطه ارجو الاجابه

والف شكر لكم

#11
s_ibrahem_e كتب:

جزاك الله كل خير اخوي المبرمج ابو محمد

بس يا خوي انا اجديد في المنتدى ومش عارف اتعامل معه

وعندي سؤال ومو عارف اتعامل معه وين احطه ارجو الاجابه

والف شكر لكم

افتح Form2.Designer.cs وغير السطر اللي فيه :

private textbox1

ليصبح

public textbox1

سنوسي حواري

عمان - الأردن

المدونة

بريد الكتروني: sanousy.howari@gmail.com

سكايب: Sanousy.howari

فيسبوك : facebook

تويتر: Twitter

#12
s_ibrahem_e كتب:

جزاك الله كل خير اخوي المبرمج ابو محمد

بس يا خوي انا اجديد في المنتدى ومش عارف اتعامل معه

وعندي سؤال ومو عارف اتعامل معه وين احطه ارجو الاجابه

والف شكر لكم

السلام عليكم ورحمة الله وبركاته

حياك الله أخي الكريم

أولا أظن أن ردك هذا متعلق بالموضوع هذا وقد وضعته أنت هنا بالخطأ

/index.php?showtopic=261580

ولهذا سأقتبس الرد وأرد هناك أي في الموضوع الآخر

ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها

كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور

الدورة التطبيقية لتعليم التصميم بالإليستريتور

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