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

تغيير قيمه فى فورم باستخدام فورم اخر

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

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

المسأله هو انى اريد تغيير قيمه فى فورم من خلال فوم اخر مع الاحتفاظ بالفورم الاولى مفتوحه.

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

يا رب يكون سؤالى وصل

73b14eadba.gif

الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين

لكل مبتدئى البرمجه برمجه بلغه السى شارب

تنصيب ويندوز 8 على vmware

#2

ممكن تعملها عن طريق الdatabase

تم تعديل هذه المشاركة بواسطة ayash في 3 فبراير 2011 في 12:45

291964_260506123967115_206850989332629_1001538_45132_n.jpg

اللهم إني أعوذ بك من علم لا ينفع ، ومن قلب لا يخشع ، ومن نفس لا تشبع ، ومن دعوة لا يستجاب لها

#3
/index.php?showtopic=129246
#4

اعتقد هاذا الذي تريده

http://www.codeproject.com/KB/cs/pass_data_between_forms.aspx

291964_260506123967115_206850989332629_1001538_45132_n.jpg

اللهم إني أعوذ بك من علم لا ينفع ، ومن قلب لا يخشع ، ومن نفس لا تشبع ، ومن دعوة لا يستجاب لها

#5

كل اللى انا عايز اعمله هو كالاتى :

post-170153-048327100 1297495336_thumb.j

تلاقى الفورم الاولى موجود بيها قيمه اللى هى Enable وعند الضغط على الزر تلاقى انك تختار قيمتين من بين Enable & Disable وعند اختيار القيمه Disable مثلا ثم الضغط على زر OK تتغير القيمه اللى فى الـ Form1 بدون اعاده تحميل الفورم او فتح اوبجكت جديد وهذا المثال يحدث فى برنامج CMOS Setup عندما تغير خاصيه ما من Enable الى Disable تتغير فى الحال بدون اعاده التحميل او فتح اوبجكت جديد من الفورم الاول

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

المرفقات
Capture.JPG
73b14eadba.gif

الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين

لكل مبتدئى البرمجه برمجه بلغه السى شارب

تنصيب ويندوز 8 على vmware

#6

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

استاذنا الفاضل

تأكدا مما فهمته من حضرتك

الآن الشاشة الأولي تظهر كـLabel عبارة Enable عند ضغط زر Change يظهر الشاشة الثانيةبها اثنان RadioButton يختار بين Enable و Disable و عند ضغط زر OK يقوم بتغيير الكتابة على الشاشة الأولي طبقا لما اختاره المستخدم في الشاشة الثانية سواء بEnable او Disable صح كلامي؟

طبقا لهذا الكلام

أكيد في زر Change عملت Object من الشاشة الثانية و لنفترض أنها frm2 و قمت بعرضها أنصحك ان تجعلها ShowDialog() بدلا من Show() ليوقف الDebugger في هذا السطر حتي يتم غلق الشاشة الثانية

و في الشاشة الثانية تقوم بتعريف Property و ليكن اسمها UserChioice مثلا

و عند ضغط OK قم بوضع القيمة كنص في الProperty

ها هي بعض سطور كود لينفذ لك ذلك

if(rdoEnable.checked) UserChoice = "Enable"; else UserChoice = "Disable";

this.close();

و في السطر التي تلي frm2.ShowDialog();

اكتب

label.text = frm2.UserChoice;

و هذا سيسجل ما اختاره المستخدم في الLabel

اما اذا كنت تريد ان يتم التغيير بدون ان يغلق الشاشة الثانية او تريد استخدام Show() و ليس ShowDialog()

فقم بتعريف حدث ط

public event EventHandler UserChange;

و مثل ما كتبت بالسابق

if(rdoEnable.checked) UserChoice = "Enable"; else UserChoice = "Disable";

حيث UserChoice i هو الproperty نوعها string كما في السابق

ثم قم بتشغيل الحدث

كالتالي

this.UserChange(this, null);

و في الشاشة الأولي في زر Change

قم باضافة حدث كما تضيف حدث للزر مثلا كالتالي

خارج method بتاع نقر زر الChange

void Form1_UserChange(object sender, EventArgs e)

{

label.text = frm2.UserChoice;

}

و بداخلها

this.UserChange += new EventHandler(Form1_UserChange);

لكن افضل ان يتم بعد الضغط عليها ان يقوم بDisable للزر حتى لا يخرج رسالة خطأ عند معاودة الضغط على الزر

ارجو ان يكون ذلك هو حل سؤالك

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…