منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
كود في اداة OvalShape - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : كود في اداة OvalShape (/showthread.php?tid=16810)



كود في اداة OvalShape - soper - 15-08-16

السلام عليكم

عندي سوال في اداة OvalShape هو لما اضغط علي حرف ال w يتحرك حركة لفوق ولما اضغط D يتحرك حركة لليسار وعند الضغط علي S يتحرك حركة لتحت وعند الضغط علي A يتحرك حركة لليمين وشكرا اتمنا الرد السريع
Heart Heart



RE: كود في اداة OvalShape - silverlight - 16-08-16

ممكن توضح لي هدفك من تحريك الشكل البيضاوي لأنك ممكن تشتغني عن الأداة OvalShape تماما


RE: كود في اداة OvalShape - soper - 16-08-16

(16-08-16, 02:55 AM)silverlight كتب : ممكن توضح لي هدفك من تحريك الشكل البيضاوي لأنك ممكن تشتغني عن الأداة OvalShape تماما

انا اصنع لعبة 



RE: كود في اداة OvalShape - silverlight - 16-08-16

الأكواد التالية سوف تعطيك بعض الأفكار عن كيفية تحريك الأشياء بإستخدام الكيبورد

المثال الأول : تحريك شكل بيضاوي مرسوم علي الفورم و هنا الحركة تتم باستخدام الاسهم
استبدل الأسهم بالحروف التي تريدها


كود :
Public Class Form1

   Private isMoving As Boolean = False
   Private ovalShape As Rectangle = New Rectangle(10, 10, 80, 60)
   Private Const speed As Integer = 2

   Private Sub Form1_KeyUp(sender As Object, e As KeyEventArgs) Handles MyBase.KeyUp
       isMoving = False
   End Sub

   Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
       isMoving = True
       Dim currentLocation As Point = ovalShape.Location
       Dim x As Integer = currentLocation.X
       Dim y As Integer = currentLocation.Y

       If e.KeyCode = Keys.Right Then
           x += speed
       ElseIf e.KeyCode = Keys.Left Then
           x -= speed
       ElseIf e.KeyCode = Keys.Up Then
           y -= speed
       ElseIf e.KeyCode = Keys.Down Then
           y += speed
       End If

       Dim newLocation As Point = New Point(x, y)
       ovalShape.Location = newLocation
       Invalidate()
   End Sub

   Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles MyBase.Paint
       Dim mode = e.Graphics.SmoothingMode
       e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
       e.Graphics.FillEllipse(SystemBrushes.MenuHighlight, ovalShape)
       e.Graphics.DrawEllipse(SystemPens.ControlDarkDark, ovalShape)
       e.Graphics.SmoothingMode = mode
   End Sub

End Class

المثال الثاني : تحريك Label موجود علي الفورم
ستلاحظ من الكود اننا هنا لا نحتاج لنرسم الكونترول لأنه موجود بالفعل علي الفورم ولكننا فقط نقوم بتحريك الكونترول
استبدل الأسهم بالحروف التي تريدها

كود :
Public Class Form1

   Private isMoving As Boolean = False
   Private Const speed As Integer = 2

   Private Sub Form1_KeyUp(sender As Object, e As KeyEventArgs) Handles MyBase.KeyUp
       isMoving = False
   End Sub

   Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
       isMoving = True
       Dim currentLocation As Point = Label1.Location
       Dim x As Integer = currentLocation.X
       Dim y As Integer = currentLocation.Y

       If e.KeyCode = Keys.Right Then
           x += speed
       ElseIf e.KeyCode = Keys.Left Then
           x -= speed
       ElseIf e.KeyCode = Keys.Up Then
           y -= speed
       ElseIf e.KeyCode = Keys.Down Then
           y += speed
       End If

       Dim newLocation As Point = New Point(x, y)
       Label1.Location = newLocation
   End Sub

End Class



RE: كود في اداة OvalShape - soper - 16-08-16

اخي العزيز اطلب منك طلب وهو اني اريد كود عند الضغط علي مسترة يخرج من اسفل المكان فيه الشكل البضاوي اداة صندوق الصور ويكون فيه صورة صهم 
 انا اسف علي طول الطلب لكن نحن جميعا نتعلم وانت افضل معلم
Heart Heart Heart



RE: كود في اداة OvalShape - silverlight - 17-08-16

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

للأسف و لكي يتم تنفيذ طلبك فهذا يحتاج الي وقت وحاليا هذا شئ صعب تنفيذه

لكني انصحك ان تستخدم MenuStrip و تستفيد منها كبديل مناسب


RE: كود في اداة OvalShape - soper - 17-08-16

اخي العزيز لم تفهمني انا اريد عند الضغط علي زر المسترة يخرج من اسفل الشكل البيضاوي سهم اينم كان الشكل البيضاوي اتمنا فهمي



RE: كود في اداة OvalShape - silverlight - 17-08-16

ماذا تعني بكلمة زر المستر؟
انا فعلا مش فاهم كلامك و لو فيه شخص فاهم كلامك أتمني إنه يفهني ماذا تقصد بكلامك هذا


RE: كود في اداة OvalShape - soper - 17-08-16

(17-08-16, 02:58 PM)silverlight كتب : ماذا تعني بكلمة زر المستر؟
انا فعلا مش فاهم كلامك و لو فيه شخص فاهم كلامك أتمني إنه يفهني ماذا تقصد بكلامك هذا

الحقيقة انا مستغرب انت من مصر ولا تعرف زر مسترة  المسافات في لوحة المفتيح
هو الزر الذي بين زر Alt و Alt

انا هفهمك بتفصيل الممل جدا

في اللعبة التي اسممها معتمدة علي ازرار الاسهم فوق وتحت ويمين ويسار وزر Space وزر Alt

شرح كل زر وماذا يفعل

1-الاسهم فوق وتحت ويمين ويسار : هم للحركة انت اعطيتني الكود شكراً

2-زر Space ( مسترة  المسافات ) : 
هو مسول عن اطلاق النار عندي سوال هنا هو مثلا انا اما اتحرك عايزو اول ما ويضغط علي Space يضهر اداة صندوق الصور بيكتشر بوكس وينزل للاسفل هذا الصندوق مثلا اول ماتحرك يمين واضغط علي المسترة يظهر الي كلت عليه

Heart Heart Heart



RE: كود في اداة OvalShape - soper - 19-08-16

الوووووووووووووووووووووووووووووووووووو