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

كيفية التعامل مع كنترول

مغلق
بدأه C#please في 4 فبراير 2006 · 5 رد · 479 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

ارجو أن يوضح لي أي حد :

عندي contextmenu وعدد من ال pictureBox

أريد عندما اعمل rightClick علي أي pictureBox تظهر ال menu .. سهلة

طيب أنا عايز لما اضغط علي أي pictureBox يجيبلي اسم ال pictureBox ده , واتعامل معاها واديلها صورة مثلا من ملف أو أي حاجة...

يعني لو عندي string فيه اسم control ... ازاي اتعامل مع ال control عن طريق الكود

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

#2

حاول ان تربط جميع ال pictureBoxs بنفس ال contextMenuStrip :

this.pictureBox1.ContextMenu = this.contextMenuStrip1;
this.pictureBox2.ContextMenu = this.contextMenuStrip1;

يمكنك معرفة اسم ال picturebox التي تم الضغط عليها عن طريق التالي :

MessageBox.Show(this.contextMenuStrip1.SourceControl.Name);

سأحاول أن أقوم بعمل برنامج يوضح لك ما تريد ان شاء الله ;)

#3

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

عند الضغط عليها سوف تجد في الحدث متغير يتم تمريرة إسمه sender

يمكنك إستخدامه بهذا السطر

((PictureBox)sender)

وتعامل مع عادي وللتأكد أضغط على "." بعدها سوف تظهر قائمة كل الخواص لها

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#4

هذا هو البرنامج وهذه صورة عنه :

04_02_06_11_38_37_1139081917PictureBoxes.JPG

PictureBoxes.rar

#5

المشكلة ليست في معرفة اسم ال control

المشكلة في التعامل مع هذا ال control

أي : لو contextMenu علي pictureBox1 يجعل ال image كذا

لو contextMenu علي pictureBox2 يجعل ال image كذا

كيف هذا؟؟

#6

طيب ماهو الأخ بهاء عمل ذلك في مثاله, عندما تكون الـ ContextMenu على الـ PictureBox الأولى فهى تغير الصوره الموجوده بها واذا كانت على الثانيه فتتغير الصوره الموجوده في الثانيه. وذلك عند الضغط على Set Picture !

عموما يمكنك أن تكتب الكود التالي ليرجع لك Reference للـ PrictureBox التي ضغط عليها المستخدم ,, اكتب الكود في الـ MenuItem الخاص بتغيير الصوره مثلا :

PictureBox myPB =(PictureBox)((MenuItem)sender).GetContextMenu().SourceControl;
myPB.Image = .....;

في الكود سيتم تغيير صورة الـ myPB التي يريدها المستخدم فليس عليك أن تقوم هنا بعمل If و Else والخ حتى تعرف الـ PictureBox حتى تغير خواصها , فالـ PictureBox التي رجعت هى نفسها تشير لنفس الـ PictureBox التي ضغط عليها المستخدم وليست واحده جديده بالطبع فـ myPB يشير هو الآخر الى نفس الأوبجك الخاص بالـ PictureBox الأصليه الموجود في الـ Heap. أنا استخدمت عمليتين Cast في الكود حتى يمكن اعادة استخدامه , ولكن على حسب برنامجك انت يمكنك التعديل حتى تقللها الى عملية تحويل واحده وذلك باسترجاع الخاصيه SourceControl من أوبجك الـ ContextMenu مباشرة كما فعل الأخ بهاء.

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

هذا الموضوع مغلق.

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