السلام عليكم
ممكن يا اخوان تساعدوني في مشكلة واجهتي في برمجة سي شارب وهي:
قمت برسم نقاط على GUI والان اود ان اعمل امكانية التعديل والحذف على هذه النقاط بالضغط كلك يمنة على اي نقطة من النقاط كما موضح في الصورة ادناه:
السلام عليكم
ممكن يا اخوان تساعدوني في مشكلة واجهتي في برمجة سي شارب وهي:
قمت برسم نقاط على GUI والان اود ان اعمل امكانية التعديل والحذف على هذه النقاط بالضغط كلك يمنة على اي نقطة من النقاط كما موضح في الصورة ادناه:
قم بحفظ Rectangle لكل نقطة في جدول HashTable
ثم عند حدث النقر يمين على الماوس :
System.Collections.Hashtable t = new System.Collections.Hashtable();
//الرسم هنا و وملء جدول الهاش تيبل
if (e.Button == MouseButtons.Right)
{
foreach (Rectangle rec in t.Values)
{
if (rec.Contains(e.Location))
{
//ضع هنا كود إظهار القائمة
}
}
}جاري التجربة
ماذا تعني t.value
وكذالك rec
مع الشكر الجزيل
تم تعديل هذه المشاركة بواسطة laithlaithlaith في 28 أبريل 2010 في 03:41
شكرا اخ desert eagle
ممكن طلب
كيف امل hashtable وكيف اضع كود اظاهر القائمه ممكن مثال عن كل واحد لان للمرة الاولى استعمل هذه الاداة في تصميمي
ولك كل التقدير ولاحترام
الكيفية تختلف بإختلاف الكود الذي تستخدمه
عندما ترسم النقاط يجب أن تحفظ إحداثياتها في Rectangle , أي أنه لكل نقطة Rectangle
وجدول الهاش تيبل يحفظ كل نقطة و بجانبها Rectangle , حتى يمكنك من الرجوع إلى إحداثيات النقطة من خلال إسمها
وعند النقر على زر الماوس الأيمن تقوم الدوارة بالبحث في كل عناصر الهاش تيبل , لتختبر مكان النقر هل هو ضمن أحد هذه الـ Rectangles
فإذا كان ضمنا تظهر القائمة Context Menu يمكنك البحث عن طريقه إستخدام القوائم و فهمها بالتفصيل
شكرا اخي الفاضل
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…