كيف تستطيع أن ترسم الفورم بشكل هندسي مثل الدائرة أو المثلث أو …!!

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

11.jpg

 

لنبدأ بعونه تعالى:ما نحتاج إليه، حتى يتثنى لنا القيام بهذه المهمة هي استخدام الصفين GraphicesPath الذي ينتمي إلى فضاء الأسماء System.Drawing.Drawing2D وإلى الصف Region الذي يتبع لفضاء الأسماء System.Drawing.سوف نقوم باستخدام الصف GraphicsPath برسم شكل الفورم وذلك من خلال العديد من التوابع سوف نجرب هنا فقط التابعين AddEllipse و AddLines والبقية لك حتى تجربهناك خاصية للفورم تدعى Region وتمثل هذه الخاصية كائن من الصف System.Drawing.Region والذي تمثل المنطقة او الحيز من الفورم الذي سيكون مرئي للمستخدم. دع المثال التالي يوضح لك كل شيء.

طبعا بعد انشاء مشروع جديد من نوع Windows Application إذهب إلى الحدث Load الخاص بالفورم وقم بكتابة ما يلي:

 private void Form1_Load(object sender, EventArgs e)
{
    System.Drawing.Drawing2D.GraphicsPath gp =
        new System.Drawing.Drawing2D.GraphicsPath();   
    gp.AddEllipse(0, 0, this.Width, this.Height);
 
    Region myRegion = new Region(gp);
    this.Region = myRegion;
}

 طبعا قمنا اولابالتصريح عن كائن gp من الصف GraphicsPath، ثم شكلنا الدائرة من خلال التابع AddEllipse حيث أول برامترين يمثلان النقطة التي سنبدأ منها رسم الدائرة أو القطع المطلوب أما البرامتريين الثانيين فيمثلان قيم كل من عرض القطع وارتفاع القطع (حيث طبعا او  غير طبعا الدائرة حالة خاصة من القطع  حيث يكون القطع الناقص دائرة إذا عرضه يساوي إلى ارتفاعه) طبعا هنا حددنا عرض القطع إلى عرض الفورم وارتفاع القطع إلى ارتفاع الفورم.

بعد ذلك قمنا بانشاء كائم من الصف Region واعطيناه المسار أو الشكل المشكل سابقا، واخيرا قمنا بتغير خاصية الفورم Region إلى الكائن الجديد الذي قمنا بانشائه، والنتيجة ستكون على الشكل التالي:

7.jpg

طبعا لاحظ أن حواف الفورم قد ظهرت لإخفائها أذهب إلى الخاصة FormBorderStyle وغير قيمتها إلى None لتظهر على الشكل التالي:

8.jpg

اضبط لون خليفة الفورم إلى اللون الأسود من خلال الخاصية BackColor لتظهر الفورم على الشكل التالي: 

9.jpg

الكود التالي يوضح كيف نجعل شكل الفورم مثلث:

private void Form1_Load(object sender, EventArgs e)
{
     System.Drawing.Drawing2D.GraphicsPath gp1 =
         new System.Drawing.Drawing2D.GraphicsPath();
 
     GraphicsPath gp1 = new GraphicsPath();
     gp1.AddLines(new Point[] {
         new Point(100, 150),
         new Point(300, 150),
         new Point(200, 0) });
 
     Region myRegion = new Region(gp1);
     this.Region = myRegion;
}

لتظهر الفورم على الشكل التالي مع تغير اللون إلى الازرق:

10.jpg

المشروع في المرفقات، فقط اضفت زر على الفورم لكي يسهل علي عملية إغلاقها

11.jpg

طبعا يمكن تطبيق الكلام السابق على الازارا، على اي اداة تحوي الخاصة Region

يمكنك تحميل مثال الدرس من الرابط التالي:
http://www.eclasshome.com/attach/upload3/wh_21760254.zip

One thought on “كيف تستطيع أن ترسم الفورم بشكل هندسي مثل الدائرة أو المثلث أو …!!

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s