فيجوال بيسك للجميع
 
الرئيسيةhttp://w19.easyاليوميةس .و .جبحـثقائمة الاعضاءالمجموعاتالتسجيلدخول

شاطر | 
 

 تغيير شكل الفورم من دائرة الى مثلث الى مربع

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
رضوان الذبياني
Admin


عدد المساهمات: 24
تاريخ التسجيل: 05/01/2009
العمر: 21

مُساهمةموضوع: تغيير شكل الفورم من دائرة الى مثلث الى مربع   الثلاثاء يناير 06, 2009 6:41 pm

سنقوم فى المثال المرفق بالسماح للمستخدم بتحديد شكل الفورم
و بداية اريد ان اؤكد ان الأمثلة احيانا تكون هزيلة كهذا المثال مثلا لأننا لسنا شركات تعليمية
تملك فريق عمل لأنشاء هذه الأمثلة و لكن
على المبرمج ان يطلق لخياله العنان
و ان يستخدم كل ما يعلم لأخراج توليفة مبدعة و الا يحصر نفسه فى الأستخدام الذى تعلمه للكود
فأن تعلمت هنا كيف تصنع رسوميات ثنائية الأبعاد
فعليك ان تسعى الى ان تجعلها ثلاثية الأبعاد و هكذا
ان لم تعلم كيف تجعله كذلك بالكود
فقم بصنع صورة بالفوتوشوب و اضفها للفورم لكى تصل الى نفس النتيجة المهم الا تعجز و وفقكم الله الى كل
الخير
----------------------------------------------
حسنا الفكرة بسيطة
سنقوم بتعريف متغير من النوع
GraphicsPath
ثم نحدد ابعاده
ثم نضيفه الى المنطقة الرسومية للفورم
عدة اسطر من الكود و يكون لديك ما تريد
------------------------------------------------
لقد شرحت الكود فى داخل المثال نفسه
و لكنى سأحاول التوضيح هنا ايضا
اولا سنحتاج الى فورم و ليبل لتزيين الفورم و زر للخروج من البرنامج و قائمة موضعية حتى نستخدمها بدل
الأزرار لتحديد شكل الفورم المطلوب و توول تيب حتى نخبر المستخدم بالضغط كليك يمين لأستخدام القائمة
الموضعية
------------------------------------------------
حسنا الأن جميع المقادير جاهزة و نبدأ الطهى
-------
اولا فى حدث الفورم لود نحدد شكل القلب كبداية
و الشرح كما يلى
و لكن اريد ان تلاحظ اننى قمت بأختيار جميع الأبعاد بحيث يحتوى شكل الفورم على جزء من الأطار الخارجى
حتى يتمكن المستخدم من سحب الفورم و هذا حتى اوفر الوقت المستهلك فى كتابة كود خاص لسحب الفورم من
اى مكان و للعلم الكود موجود فى المنتدى فقط ابحث عن( سحب الفورم من اى مكان)
الأن مع الكود الأول

رمز:

PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
Dim path AsNew Drawing2D.GraphicsPath 'هذا هو المتغير
'القلب كبداية
path.AddArc(70, 10, 150, 150, 135, 195) 'نرسم قطاع كالأتى الأحداثى اكس ثم واى ثم العرض ثم الطول ثم زاوية البداية ثم النهاية
'القطاع السابق هو القطاع اليمين بالنسبة للفورم

path.AddArc(200, 10, 150, 150, 210, 195) 'و ده القطاع الأيسر بنفس الأسلوب
'الثلاث خطوط القادمة تساوى المثلث السفلى
path.AddLine(92, 139, 210, 270) 'احداثى البداية ثم احداثى نهاية الخط
path.AddLine(327, 139, 210, 270)
path.AddLine(327, 139, 92, 139)
Me.Region = New Region(path) 'تخصيص المتغير الخاص بالأمتداد الرسومى للمنطقة الظاهرة
EndSub
----------------------------------------
و الأن زر الدائرة


رمز:

PrivateSub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click
Dim path AsNew Drawing2D.GraphicsPath 'المتغير
'لعمل الدائرة المفرغة
path.AddEllipse(85, 0, 250, 250) 'الأحداثى ثم طول و عرض المستطيل المحيط بالدائرة
''path.AddEllipse(135, 50, 150, 150)
path.AddEllipse(160, 75, 100, 100) 'هنا تتقاطع الدائرة الأولى مع الثانية فيحدث التفريغ
Me.Region = New Region(path) 'تخصيص المتغير الخاص بالأمتداد الرسومى للمنطقة الظاهرة
Me.BackColor = Color.Gray
EndSub
---------------------------------------------
و الأن المثلث


رمز:

PrivateSub MenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem3.Click
Dim path AsNew Drawing2D.GraphicsPath

path.AddLine(0, 0, 216, 320) ' الخط الأول للمثلث من اقصى شمال الفورم الى اسفل
path.AddLine(216, 320, 408, 0) 'الخطالثانى من اسفل الى اعلى يمين الفورم
path.AddLine(408, 0, 0, 0) 'الخط الأخير للمثلث
Me.Region = New Region(path)
Me.BackColor = Color.Khaki
EndSub
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ملحوظة هامة
عند دراستك للمثال قم بتشغيل كل سطر وحده حتى تتابع تطور الرسم
و مع التوفيق
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://visualbasic.4rumer.com
 

تغيير شكل الفورم من دائرة الى مثلث الى مربع

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
أهلاً وسهلاً بك في فيجوال بيسك :: فيجوال بيسك ( 6 )-