تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيف تجعل كل شئ مستديرا داخل الفورم
#1
كاتب الموضوع : silverlight

الموضوع: كيف تجعل كل شئ مستديرا داخل الفورم
اعداد : مهندس عمر امين ابراهيم
الهدف : للمبتدئين فقط

الاخوه الكرام

من متابعتي للموقع وجدت ان الكثير من الاخوه يريدون أن يغيرون شكل الباتون ليكون دائريا
الحقيقه نستطيع تغيير الكثير من الكونترول Controls ونجعلها علي شكل دائره وذلك مع الحفاظ علي الخواص الاخري وبدون استخدام اكواد تم تصميمها بواسطة مبرمجين اخرين
عموما كل هذا يتم باستخدام +GDI
كل ذلك يتم عن طريق الحدث Paint او Overrides Paint

مثال : تغيير شكل الفورم الي دائره
كل ما عليك فعله هو ان تجعل الفورم له ابعاد متساويه
وتستخدم الكود الاتي


كود :
Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint

Dim shape As New System.Drawing.Drawing2D.GraphicsPath
shape.AddEllipse(0, 0, Me.Width, Me.Height)
Me.Region = New System.Drawing.Region(shape)

End Sub
مثال اخر: تغيير شكل الباتون Button
ايضا نجعل الباتون size متساوي اي نغيير في Properties وتحديدا في Size ونجعل القيميتن متساويتين عمومل لو لم نجعل القيميتين متساويتين سنحصل علي شكل بيضاوي
وهذا الامر ينطبقي علي الفورم وباق الاشياء الاخري

كود :
Private Sub Button1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Button1.Paint

Dim shape As New System.Drawing.Drawing2D.GraphicsPath
shape.AddEllipse(0, 0, Button1.Width, Button1.Height)
Button1.Region = New System.Drawing.Region(shape)

End Sub
مثال اخر: تغيير شكل Panel


كود :
Private Sub Panel1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint

Dim shape As New System.Drawing.Drawing2D.GraphicsPath
shape.AddEllipse(0, 0, Panel1.Width, Panel1.Height)
Panel1.Region = New System.Drawing.Region(shape)

End Sub
مثال اخر : PictureBox


كود :
Private Sub PictureBox1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint

Dim shape As New System.Drawing.Drawing2D.GraphicsPath
shape.AddEllipse(0, 0, PictureBox1.Width, PictureBox1.Height)
PictureBox1.Region = New System.Drawing.Region(shape)

End Sub
مثال اخر : حتي DataGridView


كود :
Private Sub DataGridView1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles DataGridView1.Paint

Dim shape As New System.Drawing.Drawing2D.GraphicsPath
shape.AddEllipse(0, 0, DataGridView1.Width, DataGridView1.Height)
DataGridView1.Region = New System.Drawing.Region(shape)

End Sub

lمثال اخر: حتي SplitContainer


كود :
Private Sub SplitContainer1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles SplitContainer1.Paint

Dim shape As New System.Drawing.Drawing2D.GraphicsPath
shape.AddEllipse(0, 0, SplitContainer1.Width, SplitContainer1.Height)
SplitContainer1.Region = New System.Drawing.Region(shape)

End Sub
عموما الاسلوب ده يمكن استخدامه لتغيير اشياء كثيره ..........حاول تجرب بنفسك .......... الامر اسهل مما تتصور اي كونترول يمتلك الحدث Paint يمكن استخدام الكود معه ..................

ملحوظه اخيره: يمكن تغيير الشكل الي اي شئ تريد مثل نجمه او حتي زجاجه او اي شكل قد تتخيله الأمر متروك لخيالك

لكن يتبقي السؤال هل نحن في حاجه لتغيير اشكال الكونترول المختلفه؟
ربما نحتاج ذلك مع البعض او ربما نحتاجه مع كل شئ مين يقدر يعرف

عموما اتمني ان الموضوع يكون واضح

مرفق الكود باستخدام Visual Studio 2008

اخوكم عمر


الملفات المرفقة
.rar   Circluar.rar (الحجم : 60.64 ك ب / التحميلات : 160)
}}}
تم الشكر بواسطة: محمد بن عطية , محمد بن عطية


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] الاضافه مباشره من داخل GridControl loay775 0 24 31-03-24, 01:06 AM
آخر رد: loay775
  حساب مكان الفورم علي شاشة الكمبيوتر silverlight 2 3,167 18-06-23, 03:26 PM
آخر رد: kebboud
  كود عرص ملف الوورد داخل أدات WebBrowser alsaab120 1 1,087 26-03-23, 02:57 PM
آخر رد: sanyor77
  الجزء الثالث من:كيف تجعل الـ Text Box ذكي!يترجم العمليات الحسابية ويخرج الناتج (الأقواس المتعددة) !! أنس محمود 10 7,843 19-07-22, 12:15 AM
آخر رد: StartLight4000
  معالجة التنبيهات في البرامج (استقبال تنبيهات داخل البرنامج) Dev Express ابو ليلى 9 9,289 10-02-22, 09:55 PM
آخر رد: عبدالحميد حسني
Photo كيفية اطهار جدول داخل الأخر alsouf 3 4,475 21-11-20, 09:15 AM
آخر رد: Anas Mahmoud
  [VB.NET] كود يجعل الفورم فى المقدمة دائماً [ بناءاً لطلب احد الاخوة وحتى سيتفاد منه الجميع ] elgokr 5 2,911 16-06-19, 08:32 AM
آخر رد: sendbad100
  كيف تجعل برنامجك عالميا و يدعم أكثر من لغة silverlight 6 5,597 29-05-19, 10:32 PM
آخر رد: egbest2
Rainbow [VB.NET] كلاس ResizeControls وطريقة جديد ومميزة لتكبير وتصغير ادوات الفورم تلقائيا الماجيك مسعد 8 8,763 01-10-18, 03:03 AM
آخر رد: LEO
  كيف تجعل الـ Text Box ذكي !! يترجم العمليات الحسابية ويخرج الناتج !! بالداخل المزيد !! أنس محمود 1 6,887 11-02-18, 02:37 PM
آخر رد: komar

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم