كيف يمكنني عمل كود لرسم دائرة
زي ماهي في برنامج الرسام يعني بالماوس
وعند تحريك الماوس أثناء رسم الدائرة يظهر لي حدود افتراضية تماما مثل برنامج الرسام
إلى أن يتم عمل mouse up
ويتم رسم الدائرة في الفورم
؟؟؟؟؟؟ :wub:
كيف يمكنني عمل كود لرسم دائرة
زي ماهي في برنامج الرسام يعني بالماوس
وعند تحريك الماوس أثناء رسم الدائرة يظهر لي حدود افتراضية تماما مثل برنامج الرسام
إلى أن يتم عمل mouse up
ويتم رسم الدائرة في الفورم
؟؟؟؟؟؟ :wub:
مرحباً,
رجاءً قم بإنشاء مشروع جديد أو قم بلصق الـ( Code ) التالي في ( Code ) تابع لـ( Control أو Form ).
[color= #000000; font-weight: bold;]Private MySTPoint [color= #b1b100;]As Point
[color= #000000; font-weight: bold;]Private Ellipses [color= #b1b100;]As [color= #000000; font-weight: bold;]New [color= #990000;]List[color= #009900;](Of Rectangle[color= #009900;])
[color= #000000; font-weight: bold;]Private Sub Obj_MouseDown[color= #009900;](ByVal Sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_
ByVal E [color= #b1b100;]As [color= #990000;]System[color= #339933;].Windows[color= #339933;].Forms[color= #339933;].MouseEventArgs[color= #009900;]) Handles Me[color= #339933;].MouseDown
MySTPoint [color= #339933;]= E[color= #339933;].Location
[color= #990000;]End Sub
[color= #000000; font-weight: bold;]Private Sub Obj_MouseMove[color= #009900;](ByVal Sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_
ByVal E [color= #b1b100;]As [color= #990000;]System[color= #339933;].Windows[color= #339933;].Forms[color= #339933;].MouseEventArgs[color= #009900;]) Handles Me[color= #339933;].MouseMove
[color= #b1b100;]If E[color= #339933;].Button [color= #339933;]= Windows[color= #339933;].Forms[color= #339933;].MouseButtons[color= #339933;].Left Then
Using G [color= #b1b100;]As Graphics [color= #339933;]= Graphics[color= #339933;].FromHwnd[color= #009900;](Handle[color= #009900;])
G[color= #339933;].SmoothingMode [color= #339933;]= Drawing2D[color= #339933;].SmoothingMode[color= #339933;].AntiAlias
DrawEllipses[color= #009900;]([color= #009900;])
Dim RSize [color= #b1b100;]As [color= #000000; font-weight: bold;]New Size[color= #009900;](E[color= #339933;].X [color= #339933;]- MySTPoint[color= #339933;].X[color= #339933;], E[color= #339933;].Y [color= #339933;]- MySTPoint[color= #339933;].Y[color= #009900;])
G[color= #339933;].DrawEllipse[color= #009900;](Pens[color= #339933;].Black[color= #339933;], [color= #000000; font-weight: bold;]New Rectangle[color= #009900;](MySTPoint[color= #339933;], RSize[color= #009900;])[color= #009900;])
[color= #990000;]End Using
[color= #990000;]End [color= #b1b100;]If
[color= #990000;]End Sub
[color= #000000; font-weight: bold;]Private Sub Obj_MouseUp[color= #009900;](ByVal Sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_
ByVal E [color= #b1b100;]As [color= #990000;]System[color= #339933;].Windows[color= #339933;].Forms[color= #339933;].MouseEventArgs[color= #009900;]) Handles Me[color= #339933;].MouseUp
[color= #b1b100;]If E[color= #339933;].Button [color= #339933;]= Windows[color= #339933;].Forms[color= #339933;].MouseButtons[color= #339933;].Left Then
Dim RSize [color= #b1b100;]As [color= #000000; font-weight: bold;]New Size[color= #009900;](E[color= #339933;].X [color= #339933;]- MySTPoint[color= #339933;].X[color= #339933;], E[color= #339933;].Y [color= #339933;]- MySTPoint[color= #339933;].Y[color= #009900;])
Ellipses[color= #339933;].Add[color= #009900;]([color= #000000; font-weight: bold;]New Rectangle[color= #009900;](MySTPoint[color= #339933;], RSize[color= #009900;])[color= #009900;])
[color= #990000;]End [color= #b1b100;]If
DrawEllipses[color= #009900;]([color= #009900;])
[color= #990000;]End Sub
[color= #000000; font-weight: bold;]Private Sub Obj_Paint[color= #009900;](ByVal Sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_
ByVal E [color= #b1b100;]As [color= #990000;]System[color= #339933;].Windows[color= #339933;].Forms[color= #339933;].PaintEventArgs[color= #009900;]) Handles Me[color= #339933;].Paint
DrawEllipses[color= #009900;]([color= #009900;])
[color= #990000;]End Sub
[color= #000000; font-weight: bold;]Private Sub Obj_Resize[color= #009900;](ByVal Sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_
ByVal E [color= #b1b100;]As [color= #990000;]System[color= #339933;].EventArgs[color= #009900;]) Handles Me[color= #339933;].Resize
DrawEllipses[color= #009900;]([color= #009900;])
[color= #990000;]End Sub
[color= #000000; font-weight: bold;]Private Sub DrawEllipses[color= #009900;]([color= #009900;])
Using G [color= #b1b100;]As Graphics [color= #339933;]= Graphics[color= #339933;].FromHwnd[color= #009900;](Handle[color= #009900;])
G[color= #339933;].SmoothingMode [color= #339933;]= Drawing2D[color= #339933;].SmoothingMode[color= #339933;].AntiAlias
G[color= #339933;].Clear[color= #009900;](BackColor[color= #009900;])
[color= #b1b100;]For [color= #990000;]Each Elp [color= #b1b100;]As Rectangle In Ellipses
G[color= #339933;].FillEllipse[color= #009900;](Brushes[color= #339933;].Coral[color= #339933;], Elp[color= #009900;])
[color= #990000;]Next
[color= #990000;]End Using
[color= #990000;]End Subبالتوفيق
تم تعديل هذه المشاركة بواسطة Bashar Rabat في 19 أبريل 2009 في 15:55
The important thing is not so much
that every child should be taught,
as that every child should be given the wish to learn.
الله يعطيك ألف عافية
باجرب الكود وبرد عليك
شكرا لك أخي
بس أنا حاطة في الفورم امكانية تغيير اللون
فكل مرة بغير لون دائرة قبل ما أرسمها
تتغير لي كل الألوان إلي رسمتها من قبل
ونفس الشي مع
dashstyle & brush & width
وبالنسبة للتعبئة
كيف رح يعرف إني أبغى أعبي هذه الدائرة مو دائرة غير
ولو صار أشكال فوق بعض كيف رح يفرق في التعبئة
لأني حاطة كل هالأشياء في الفورم يعني الألوان مو شي ثابت في الكود
شاكرة لك مساعدتك لك
تم تعديل هذه المشاركة بواسطة نايس.net في 20 أبريل 2009 في 02:35
مرحباً,
هل لك برفع مشروعك لأقوم بتعديل عليه, كي يناسب احتياجتك ؟
إذا كنت غير قادر على رفع المشروع, فيمكنني إخبارك أنه عليك تصريح Structure جديد يحوي على سبيل المثال متغيران ( الأول مستطيل, والثاني لون ) :
[color= #000000; font-weight: bold;]Private Structure Ellipse [color= #000000; font-weight: bold;]Public Bounds [color= #b1b100;]As Rectangle [color= #000000; font-weight: bold;]Public Co [color= #b1b100;]As Color [color= #990000;]End Structure
ومن ثم استخدام شيء من هذا القبيل :
الـ( Code ) التالي يحتاج تواجد Button يدعى ( Button1 ) في الـ( Form ) أو الـ( Control ) الحاوي لهذا الـ( Code ) :
[color= #000000; font-weight: bold;]Private Structure Ellipse
[color= #000000; font-weight: bold;]Public Bounds [color= #b1b100;]As Rectangle
[color= #000000; font-weight: bold;]Public Co [color= #b1b100;]As Color
[color= #990000;]End Structure
[color= #000000; font-weight: bold;]Private MySTPoint [color= #b1b100;]As Point
[color= #000000; font-weight: bold;]Private CurrentColor [color= #b1b100;]As Color [color= #339933;]= Color[color= #339933;].Coral
[color= #000000; font-weight: bold;]Private Ellipses [color= #b1b100;]As [color= #000000; font-weight: bold;]New [color= #990000;]List[color= #009900;](Of Ellipse[color= #009900;])
[color= #000000; font-weight: bold;]Private Sub Obj_MouseDown[color= #009900;](ByVal Sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_
ByVal E [color= #b1b100;]As [color= #990000;]System[color= #339933;].Windows[color= #339933;].Forms[color= #339933;].MouseEventArgs[color= #009900;]) Handles Me[color= #339933;].MouseDown
MySTPoint [color= #339933;]= E[color= #339933;].Location
[color= #990000;]End Sub
[color= #000000; font-weight: bold;]Private Sub Obj_MouseMove[color= #009900;](ByVal Sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_
ByVal E [color= #b1b100;]As [color= #990000;]System[color= #339933;].Windows[color= #339933;].Forms[color= #339933;].MouseEventArgs[color= #009900;]) Handles Me[color= #339933;].MouseMove
[color= #b1b100;]If E[color= #339933;].Button [color= #339933;]= Windows[color= #339933;].Forms[color= #339933;].MouseButtons[color= #339933;].Left Then
Using G [color= #b1b100;]As Graphics [color= #339933;]= Graphics[color= #339933;].FromHwnd[color= #009900;](Handle[color= #009900;])
G[color= #339933;].SmoothingMode [color= #339933;]= Drawing2D[color= #339933;].SmoothingMode[color= #339933;].AntiAlias
DrawEllipses[color= #009900;]([color= #009900;])
Dim RSize [color= #b1b100;]As [color= #000000; font-weight: bold;]New Size[color= #009900;](E[color= #339933;].X [color= #339933;]- MySTPoint[color= #339933;].X[color= #339933;], E[color= #339933;].Y [color= #339933;]- MySTPoint[color= #339933;].Y[color= #009900;])
G[color= #339933;].DrawEllipse[color= #009900;](Pens[color= #339933;].Black[color= #339933;], [color= #000000; font-weight: bold;]New Rectangle[color= #009900;](MySTPoint[color= #339933;], RSize[color= #009900;])[color= #009900;])
[color= #990000;]End Using
[color= #990000;]End [color= #b1b100;]If
[color= #990000;]End Sub
[color= #000000; font-weight: bold;]Private Sub Obj_MouseUp[color= #009900;](ByVal Sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_
ByVal E [color= #b1b100;]As [color= #990000;]System[color= #339933;].Windows[color= #339933;].Forms[color= #339933;].MouseEventArgs[color= #009900;]) Handles Me[color= #339933;].MouseUp
[color= #b1b100;]If E[color= #339933;].Button [color= #339933;]= Windows[color= #339933;].Forms[color= #339933;].MouseButtons[color= #339933;].Left Then
Dim RSize [color= #b1b100;]As [color= #000000; font-weight: bold;]New Size[color= #009900;](E[color= #339933;].X [color= #339933;]- MySTPoint[color= #339933;].X[color= #339933;], E[color= #339933;].Y [color= #339933;]- MySTPoint[color= #339933;].Y[color= #009900;])
Dim AnEllipse [color= #b1b100;]As [color= #000000; font-weight: bold;]New Ellipse
AnEllipse[color= #339933;].Bounds [color= #339933;]= [color= #000000; font-weight: bold;]New Rectangle[color= #009900;](MySTPoint[color= #339933;], RSize[color= #009900;])
AnEllipse[color= #339933;].Co [color= #339933;]= CurrentColor
Ellipses[color= #339933;].Add[color= #009900;](AnEllipse[color= #009900;])
[color= #990000;]End [color= #b1b100;]If
DrawEllipses[color= #009900;]([color= #009900;])
[color= #990000;]End Sub
[color= #000000; font-weight: bold;]Private Sub Obj_Paint[color= #009900;](ByVal Sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_
ByVal E [color= #b1b100;]As [color= #990000;]System[color= #339933;].Windows[color= #339933;].Forms[color= #339933;].PaintEventArgs[color= #009900;]) Handles Me[color= #339933;].Paint
DrawEllipses[color= #009900;]([color= #009900;])
[color= #990000;]End Sub
[color= #000000; font-weight: bold;]Private Sub Obj_Resize[color= #009900;](ByVal Sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_
ByVal E [color= #b1b100;]As [color= #990000;]System[color= #339933;].EventArgs[color= #009900;]) Handles Me[color= #339933;].Resize
DrawEllipses[color= #009900;]([color= #009900;])
[color= #990000;]End Sub
[color= #000000; font-weight: bold;]Private Sub DrawEllipses[color= #009900;]([color= #009900;])
Using G [color= #b1b100;]As Graphics [color= #339933;]= Graphics[color= #339933;].FromHwnd[color= #009900;](Handle[color= #009900;])
G[color= #339933;].SmoothingMode [color= #339933;]= Drawing2D[color= #339933;].SmoothingMode[color= #339933;].AntiAlias
G[color= #339933;].Clear[color= #009900;](BackColor[color= #009900;])
Dim MySBrush [color= #b1b100;]As [color= #000000; font-weight: bold;]New SolidBrush[color= #009900;](CurrentColor[color= #009900;])
[color= #b1b100;]For [color= #990000;]Each Elp [color= #b1b100;]As Ellipse In Ellipses
MySBrush[color= #339933;].Color [color= #339933;]= Elp[color= #339933;].Co
G[color= #339933;].FillEllipse[color= #009900;](MySBrush[color= #339933;], Elp[color= #339933;].Bounds[color= #009900;])
[color= #990000;]Next
MySBrush[color= #339933;].Dispose[color= #009900;]([color= #009900;])
[color= #990000;]End Using
[color= #990000;]End Sub
[color= #000000; font-weight: bold;]Private Sub Button1_Click[color= #009900;](ByVal Sender [color= #b1b100;]As [color= #990000;]System[color= #339933;].Object[color= #339933;], [color= #990000;]_
ByVal E [color= #b1b100;]As [color= #990000;]System[color= #339933;].EventArgs[color= #009900;]) Handles Button1[color= #339933;].Click
Dim CD [color= #b1b100;]As [color= #000000; font-weight: bold;]New ColorDialog
With CD
CD[color= #339933;].Color [color= #339933;]= CurrentColor
[color= #b1b100;]If CD[color= #339933;].ShowDialog [color= #339933;]= [color= #cc66cc;]1 Then CurrentColor [color= #339933;]= CD[color= #339933;].Color
[color= #990000;]End With
[color= #990000;]End Subبالتوفيق
تم تعديل هذه المشاركة بواسطة Bashar Rabat في 20 أبريل 2009 في 15:36
The important thing is not so much
that every child should be taught,
as that every child should be given the wish to learn.
رسلت عالخاص
وصلك وإلا؟؟؟؟
عذراً أخي الكريم, عليك إيجاد خوارزمية منطقية تساعدك في إعداد كل من طريقة الرسم وطريقة الإعداد
جرب المثال من المرفقات, أمل أن يفيدك, ثم أسأل ماتشاء
بالتوفيق
تم تعديل هذه المشاركة بواسطة Bashar Rabat في 22 أبريل 2009 في 21:29
The important thing is not so much
that every child should be taught,
as that every child should be given the wish to learn.
انا متبددئة لسه فىالبرمجه وعاوزة اعرف هوا ينفع نعمل معالادت وندخلها قيم وهيا نقوم برسم شىء معين عن طريق الفيجوال دوت نت وهل فعلا دى يندرج تحت جزء اسمه gdi
همس الورود كتب:انا متبددئة لسه فىالبرمجه وعاوزة اعرف هوا ينفع نعمل معالادت وندخلها قيم وهيا نقوم برسم شىء معين عن طريق الفيجوال دوت نت وهل فعلا دى يندرج تحت جزء اسمه gdi
تقدري تستخمي طريقة بترسم الدائرة على طول مجرد الضغط على bottun
مثلا
بس إدا كنتي تبي تنرسم بالماوس الطريقة إلي وضحها الأخ بشار الله يعطيه العافية
وهدا كمان مثال يوضح طبعا رح تغيري القيم زي ما تبي
Imports System.Drawing
Public Class Form1
Dim graph_fun As System.Drawing.Graphics
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
graph_fun = Me.CreateGraphics
Dim pcolor As New System.Drawing.Pen(System.Drawing.Color.red)
graph_fun.DrawEllipse(pcolor, 40, 50, 80, 30)
End Sub
End Class
تم تعديل هذه المشاركة بواسطة نايس.net في 25 أبريل 2009 في 22:55
جزاك الله خيرا على رد حضرتك
بس اللى بسأل عنه انه مثلا برنامج عبارة عن معادلات وفى الاخر هيطلع ابعاد هل ممكن عن طريق الأبعاد دى ممكن يرسم معادلة
همس الورود كتب:جزاك الله خيرا على رد حضرتكبس اللى بسأل عنه انه مثلا برنامج عبارة عن معادلات وفى الاخر هيطلع ابعاد هل ممكن عن طريق الأبعاد دى ممكن يرسم معادلة
طبعا ممكن
بعد ما هادي المعادلات تطلع لك الأبعاد
ضعيهم في متغيرات
وبعدين خلي الرسم يكون باستخدام هادي المتغيرات
وضحت وإلا ؟؟؟؟؟
الف شكر هيا طبعا وضحت نظرى هجرب الكود وان شاء الله تطبق جزااااااااااااااااااك الله خيرا
همس الورود كتب:الف شكر هيا طبعا وضحت نظرى هجرب الكود وان شاء الله تطبق جزااااااااااااااااااك الله خيرا
أنا في الخدمة وان شالله أقدر أفيدك بشي