• 0
Router

عمل Disable للأزرار والقوائم في النافذة الأم

سؤال

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

 

كيف يمكن عمل Disable لبعض الأزرار في شريط الأدوات أو القوائم في النافذة الأم  من خلال تعاملي معها من النافذة الأبن

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

8 إجابة على هذا السؤال .

  • 0

مرر الكائنات من النافذة الأم إلى النافذة الإبن في مُشيّد الإبن Constructor بهذه الطريقة:

 

  Child^ ch= gcnew Child(this->button2);

 

 

في السطر السابق مررت زر موجود في النافذة الإم، مررته لمشيد النافذة الإبن، بحيث عليك التعديل في مشيد الإبن الافتراضي ليكون بهذه الطريقة:

 

Child(System::Windows::Forms::Button^ b)        {            InitializeComponent();            ParObj = b;        }

 

 

 

لا تنسَ إضاقة عضو في كلاس الإبن بإسم ParObj .

بعدها يمكنت عمل Disabling للزر في النافذة الإم عن طريق النافذة الإبن بهذه الطريقة:

 

 

ParObj->Enabled=false;

 

المثال مرفق.

MdiExample.rar

تم تعديل بواسطه A.S Hack
2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

 

أخي العزيز : سعيد جداً بردك علي

 

عفواً أخي حاولت تطبيق هذا  الكود ولكني لم أنجح ، وأنا أستخدم Visual studio 2008 وبالتالي المثال لم يفتح معي فهل يمكن توضيح الكود بشكل أكبر

 

وجزاك الله خيراً

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي ما الذي لم تفهمه بالضبط؟

هل تعرف المباديء الأساسية في البرمجة الكينونية واستخدام الفصائل Classes ؟ الـ Forms ليست إلا Classes .. تعامل معها بهذه الطريقة.

المسألة لا تتعدى كونها تمرير الكائنات التي تريد التلاعب بها لـ فصيلة class أخرى.

يعني فقط يجب عليك تمرير الكائنات التي تريد التلاعب بها إلى مُشيد فصيلة الابن.

مثلا لدينا فصيلة الأم باسم Form1 وفصيلة الابن Child، ولدينا member في فصيلة الأم باسم button1

الآن أنت تريد التلاعب بالكائن button1 في فصيلة الابن Child ..

كل ما عليك فعله هو التالي:

 

Child^ object = gcnew Child(button1);

 

ثم قم بما تشاء بالكائن button1 ومن خلال الفصيلة الابن Child..

أرفقت لك مثالا لإصدارة MS Visual Studio 2008 ...

إذا لا زال الأمر غامضا عاودني مع توضيح الأشياء التي بدت غامضة لك.

وإذا تيّسر لك الأمر فلا تنسَ تقييم الاجابة، حتى يكون لهذا القسم طعما حيّويا في المنتدى.

PassingObjectsBetweenForms.rar

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

 

أخي العزيز هايل بل أكثر من ممتاز (كود سهل ومفهوم )

وأسلوبك رائع في إحتمال شخص مبتدئ مثلي 

 

ولكن لي سؤال :

 

هل أقوم بتمرير جميع أزرار شريط الأدوات والقوائم إلى الفورم الأبن

 

لكن عندما حاولت تمرير أكثر من زر أو قائمة يعطيني رسالة خطأ وهي :

 

No overloaded function takes 3 arguments

فكيف يمكن تمرير أكثر من عنصر للفورم الأبن  ؟

 

 

عفواً  رجاء توضييح أين أستطيع تقييم الردود فقد بحثت عنها في الصفحة لم أجدها

 

شكراً جزيلاً

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

 

الحمد لله أتحلت المشكلة بنفس الطريقة التي أعطتني أياه

 

أشكرك بشده وجزاك الله خيراً

 

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

 

الحمد لله أتحلت المشكلة بنفس الطريقة التي أعطتني أياه

 

أشكرك بشده وجزاك الله خيراً

 

الحمد لله :) ، كنت على وشك كتابة رد مفصل لك، الآن أظنك أدركت أن عليك تعديل  الدالة المُشيد constructor على حسب عدد البارامترات التي تريد تمريرها، وإضافة members لفصيلة المشيد لتخزين قيمة كل بارامتر ممرر. أو يمكنك تمرير مصفوفة objects تحمل كل البارامترات.

 

بالمناسبة تقييم الاجابات يوجد اسفل كل رد كما ف الصورة أسفله:

post-87237-0-85546700-1359624857.png

 

ولتحديد رد كإجابة، المفروض أن تجد خيارا لذلك على رأس كل رد.

تم تعديل بواسطه A.S Hack
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

 

فعلاً عدلت المشيد constructor ، ونفذت الطريقة التي علمتني أياها .... فوجدت كل شئ تمام

 

الفضل لله رب العالمين ومن بعده أنت في حل مشكلتي .... جزاك الله خيراً يا أخي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .