У меня есть три изображения, которые я нарисовал в своей форме.
GraphicsBuffer.DrawImage(ButtonEasy, New Rectangle(25, 330, 100, 50), 0, 0, 100, 50, GraphicsUnit.Pixel, ImageAttributes)
GraphicsBuffer.DrawImage(ButtonMedium, New Rectangle(150, 330, 100, 50), 0, 0, 100, 50, GraphicsUnit.Pixel, ImageAttributes)
GraphicsBuffer.DrawImage(ButtonHard, New Rectangle(275, 330, 100, 50), 0, 0, 100, 50, GraphicsUnit.Pixel, ImageAttributes)
Но я хочу сделать логическое выражение для нажатия, чтобы они могли вызывать события для загрузки выбранного режима игры.
Должен ли я сделать это с помощью кода ресурса или есть простой способ сделать это. Моя идея кажется плохой и не синтаксически правильной.
Редактировать: я дошел до этого:
Private Sub ButtonEasy_MouseClick(ByVal sender As Object, ByVal e As MouseEventArgs) _
Handles ButtonEasy.MouseClick
Dim buttonEasyRect = New Rectangle(25, 330, 100, 50)
If buttonEasyRect.Contains(e.Location) Then
End If
End Sub
Но не совсем уверен, куда идти. По-видимому, «ButtonEasy.Mouseclick» Handles выдает ошибку «Переменная WithEvents undefined». Не уверен, куда идти отсюда.
Заранее спасибо!
Edit2: После помощи LarsTech я получил Enum, и это:
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles Me.MouseDown
Dim level As Difficulty = Difficulty.None
If e.Button = MouseButtons.Left Then
End If
If New Rectangle(25, 330, 100, 50).Contains(e.Location) Then
level = Difficulty.Easy
ElseIf New Rectangle(150, 330, 100, 50).Contains(e.Location) Then
level = Difficulty.Medium
ElseIf New Rectangle(275, 330, 100, 50).Contains(e.Location) Then
level = Difficulty.Hard
End If
If level = Difficulty.Easy Then
GameMode = 1
ElseIf level = Difficulty.Medium Then
GameMode = 2
ElseIf level = Difficulty.Hard Then
GameMode = 3
End If
End Sub
Как я могу назвать это в моем цикле? В настоящее время у меня есть цикл ожидания Asynchkeypress, чтобы установить шкалу времени на 300, которая запускает игру.