منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كود في اداة OvalShape
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم

عندي سوال في اداة OvalShape هو لما اضغط علي حرف ال w يتحرك حركة لفوق ولما اضغط D يتحرك حركة لليسار وعند الضغط علي S يتحرك حركة لتحت وعند الضغط علي A يتحرك حركة لليمين وشكرا اتمنا الرد السريع
Heart Heart
ممكن توضح لي هدفك من تحريك الشكل البيضاوي لأنك ممكن تشتغني عن الأداة OvalShape تماما
(16-08-16, 02:55 AM)silverlight كتب : [ -> ]ممكن توضح لي هدفك من تحريك الشكل البيضاوي لأنك ممكن تشتغني عن الأداة OvalShape تماما

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

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


كود :
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
اخي العزيز اطلب منك طلب وهو اني اريد كود عند الضغط علي مسترة يخرج من اسفل المكان فيه الشكل البضاوي اداة صندوق الصور ويكون فيه صورة صهم 
 انا اسف علي طول الطلب لكن نحن جميعا نتعلم وانت افضل معلم
Heart Heart Heart
ما فهمته إنك تحتاج الي رسم مسطرة و عند الضغط علي مكان ما فيها تظهر قائمة منسدلة فيها أشكال هندسية مثل الرسم البيضاوي او شئ من هذا القبيل

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

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

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

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

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

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

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

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

Heart Heart Heart
الوووووووووووووووووووووووووووووووووووو