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

سؤال صغير فى كود السى شارب

بدأه EnigmaLine في 22 فبراير 2011 · 9 رد · 552 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

انا مستخدم محترف للفيجوال بيسك ومن فترة قررت الانتقال للسى شارب طبعا فى مشاكل كتير قابلتنى علشان فى اكواد كنت بكتبها فى الفيجوال بيسك مش لاقى البديل بتاعها فى السى شارب

انا بس عايز حد يقولى الكود ده المقابل بتاعه فى السى شارب

انا لو عندى عدد 2 فورم وفى الفورم التانى حاطط تيكست بوكس وانا عايز اغير قيمة التيكست بوكس اللى فى الفورم التانى من داخل الفورم الاول

Form2.Textbox2.text="NewValue"

ياريت حد يكتبلى المقابل بتاعه فى السى شارب

انا مرفق نسخة من البرنامج للتعديل

WindowsFormsApplication2.rar

#2
Form2.Textbox2.Text="NewValue";

تذكر أن الـ#C هي Case Sensitive. أي هناك فرق بين text و Text.

تم تعديل هذه المشاركة بواسطة System Down في 22 فبراير 2011 في 02:59

#3

مش فاهم قصدك ايه ياريت توضح اكتر

#4

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

دعني أوضح ما يقصده أخي System Down

في الفيجوال بيسك اذا كتبت متغير مثل

Dim A as integer

ثم عند استخدام ذلك المتغير اذا ذكرتي التالي

a = 3

فان الفيجوال بسيك سيضع قيمة 3 في المتغير الذي عرفته من قبل A رغم ان عند كتباته في المرة الثانية كتبت a

فالفيجوال بيسك لا يهمه حجم الحرف قدر انه معرف لديه

فالمتغير IntA و inta و iNtA بعني متغير واحد بالنسبة له

أما السي شارب فانه يدقق قليلا فيحالة الحرف أكثر من الفيجوال بيسك

فinta لا يساوي لديه IntA

نفس الشيء في الproperties فText ليست هي هي الtext سيفهمها مترجم الC# على أنه شيء مختلف

لذا أنصحك ان تتبع الIntellisence الخاص بVisual Studio أو البرنامج الذي تكتب فيه البرنامج لو لديك محرر أخر غير الفيجوال ستوديو

و أمر أخير أحب لفت نظرك اليها

يجب ان تكون Form1 هي اسم الObject و ليس اسم الForm فقط

ففي السي شارب Form1 frm = new Form1(); يجوز لشاشة باسم Form1

و اذا احتوت على textbox اسمهTextBox2 و الIdentifier الخاص به Public مثلا لكي تستطتيع أن تراه في مكان أخر ستذكر

frm.TextBox2.Text = "NewValue";

ارجو ان اكون أفدتك اخي

تقبل خالص تحياتي

#5

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

#6

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

لم أجد السطر الذي يجعل ما يتم كتابته بالشاشة الأولي يظهر في الثانية

الخطوة الصحيحة التي تمت هي انك عرفت الفورم الثانية في محيط الForm1 و ليس بداخل الحدث و ان الTextbox1 غيرت الModifier الخاص به الي Public

أصفت لك السطر الذي حدثت لك عنه و اشتغلت عندي

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

تقبل خالص تحياتي

WindowsFormsApplication2.zip

#7

اللى انت عملته ده صح وتمام اوى

بس انا عايز اعمل العكس يعنى اغير قيمة التكست بوكس فى الفورم الاول حسب التيكست بوكس اللى فى الفورم التانى

#8

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

قمت لك ذلك

و أرفقته مجددا

الفرق اني أضفت Method لاستجابة لحدث لTextBox في الفورم الثاني بداخل الفورم الأول

تقبل خالص تحياتي

WindowsFormsApplication2.zip

#9

شكرا جداا تمام اوى كده اتحلت نص المشكله

الجزء التانى ان انا لو عندى Datagriview فى الفورم الاول وعايز لما ادوس على الزرار فى الفورم التانى يضيف صف جديد فى الداتا جريد فيو اللى فى الفورم الاول

#10

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

الآن بهذه الطريقة تم التوصل لما تم كتابته بالفورم الثاني في داخل الفورم الأول

فيمكنك بدل ان تضع القيمة بTextBox يمكنك ان تضعه في متغير string مثلا

اذا اردت ان يتم ذلك عند الضغط على الزر بالفورم الثاني ستقوم بتبديل السطر الذي يلي FRM.Show() بالتالي

FRM2.button1.Click += new EventHandler(button1_Click);

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

dataGridView1[0, 0].Value = FRM2.textBox1.Text;

ارجو ان اكون أفدتك

تقبل خالص تحياتي

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