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

MouseDown & DrawLine

بدأه عمرو عماد في 14 نوفمبر 2012 · 1 رد · 407 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            Graphics G;
            Color C;
            Pen pen = new Pen(C);
            P2.X = e.X;
            P2.Y = e.Y;

            G.DrawLine(pen, P1, P2);

            P1.X = e.X;
            P1.Y = e.Y;
        }

هذا الكود هو عبارة عن رسم خط بإستخدم دالة ضغط زر الماوس . وقمت بتعريف النقطتين P1, P2 في البلوكة العامة

أخطائي كثيرة وأكيد فيها منطقية وبرمجية .. هل تكرم أحد الأخوة مناقشة أخطائي ولماذا وقعت في هذه المشاكل..

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

#2

أخي الكريم الكود يعمل بشكل صحيح ولكنه يرسم في كائن الجرافيك G الذي أنشأته وهو سيكون في الذاكرة

وحتى ترى نتيجته يجب أن ترسم على كائن مقترن بأحد العناصر أو النوافذ

ولذا عليك أن ترسم بالكائن المقرون بالعنصر الذي ترسم فيه

أضف إلى ذلك أنك لم تعين قيمة لكائن اللون

وعليه لتصحيح الخطأ استبدل أول سطرين بالسطرين التاليين :

        	Graphics G = ((Form1)sender).CreateGraphics();
        	Color C =Color.FromArgb(255,255,0,0);

هذا الكود سيرسم خطوط حمراء على الفورم

وسيبدأ من الزاوية أو بحسب القيمة الابتدائية للنقطة P1 التي أنشأتها

وعليه الصحيح أن تنشيء متحول بولياني يحدد بداية الرسم وانتهاؤه بحيث عند النقر تعطي النقطة الأولى قيمة موقع الماوس

ملاحظة :

بالنسبة للسطر الأول يوجد صيغة أخرى له :

        	Graphics G = (sender as Form1).CreateGraphics();

تم تعديل هذه المشاركة بواسطة أبو أحمد المبرمج في 14 نوفمبر 2012 في 17:47

ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها

كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور

الدورة التطبيقية لتعليم التصميم بالإليستريتور

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