تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كود في اداة OvalShape
#4
الأكواد التالية سوف تعطيك بعض الأفكار عن كيفية تحريك الأشياء بإستخدام الكيبورد

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


كود :
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
الرد }}}
تم الشكر بواسطة: الوادي , soper


الردود في هذا الموضوع
كود في اداة OvalShape - بواسطة soper - 15-08-16, 06:38 PM
RE: كود في اداة OvalShape - بواسطة silverlight - 16-08-16, 02:55 AM
RE: كود في اداة OvalShape - بواسطة soper - 16-08-16, 10:12 AM
RE: كود في اداة OvalShape - بواسطة silverlight - 16-08-16, 07:49 PM
RE: كود في اداة OvalShape - بواسطة soper - 16-08-16, 08:53 PM
RE: كود في اداة OvalShape - بواسطة silverlight - 17-08-16, 11:36 AM
RE: كود في اداة OvalShape - بواسطة soper - 17-08-16, 12:18 PM
RE: كود في اداة OvalShape - بواسطة silverlight - 17-08-16, 02:58 PM
RE: كود في اداة OvalShape - بواسطة soper - 17-08-16, 05:17 PM
RE: كود في اداة OvalShape - بواسطة soper - 19-08-16, 01:50 PM


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


يقوم بقرائة الموضوع: