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

كيف تجعل كل شئ مستديرا داخل الفورم

بدأه a_pess في 29 أبريل 2008 · 2 رد · 910 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الموضوع: كيف تجعل كل شئ مستديرا داخل الفورم

اعداد : مهندس عمر امين ابراهيم

الهدف : للمبتدئين فقط

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

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

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

عموما كل هذا يتم باستخدام +GDI

كل ذلك يتم عن طريق الحدث Paint او Overrides 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
 Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint

مثال اخر: تغيير شكل الباتون Button

ايضا نجعل الباتون size متساوي اي نغيير في Properties وتحديدا في Size ونجعل القيميتن متساويتين عموما لو لم نجعل القيميتين متساويتين سنحصل علي شكل بيضاوي

وهذا الامر ينطبقي علي الفورم وباق الاشياء الاخري



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
   Private Sub Button1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Button1.Paint

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



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
 Private Sub Panel1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint

مثال اخر : PictureBox



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
  Private Sub PictureBox1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint

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



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
 Private Sub DataGridView1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles DataGridView1.Paint

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

اخوكم عمر

Circluar.rar

تم تعديل هذه المشاركة بواسطة a_pess في 29 أبريل 2008 في 09:12

#2

السلام عليكم

مشكور على هذه الفائدة

#3

مشكور أخي كثر الله من أمثالك

واتقوا الله ويعلمكم الله

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…