2015-04-19 4 views
0

Если у меня есть кнопка с именем BtnPlay, и если пользователь нажимает ее более 2 раз, как я могу показать окно сообщения?Как показать окно сообщения, если кнопка нажата более одного раза в VB?

Я пробовал использовать инструкцию Select case, но это, похоже, не сработало.

+0

[Статический (Visual Basic)] (https://msdn.microsoft.com/en-us/library/z2cty7t8.aspx). – GSerg

+0

Вы можете попробовать объявить переменную PlayNum за пределами BtnPlay_Click –

ответ

0

Проблема в том, что вы объявляете счетчик внутри вспомогательного события, поэтому каждый раз, когда пользователь нажимает кнопку, создается «новый» счетчик. Объявите его снаружи в виде голеобразной вариации, и вы сможете это сделать. Нечто подобное:

Public Class Form1 

Public PlayNum As Integer = 0 

Private Sub BtnPlay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPlay.Click 

    PlayNum = PlayNum + 1 
    If PlayNum > 2 Then 
     ' Do the stuff you want when the user pressed more than two times. 
    Else 
     ' Do something else 
    End If 
End Sub 

End Class 
0

PlayNum переинициализируется каждый раз, когда BtnPlay_Click вводится. Поэтому либо расширить сферу переменной и сделать это поле класса ...

Public Class Form1 
    Private PlayNum As Integer 

    Private Sub BtnPlay_Click(ByVal sender As Object, ByVal e As EventArgs) _ 
     Handles BtnPlay.Click 

     PlayNum += 1 
     If PlayNum > 2 Then 
      ... 
     End If 
    End Sub 
End Class 

... или сделать его static. Статическая переменная сохраняет свое значение между вызовами к этому методу

Private Sub BtnPlay_Click(ByVal sender As Object, ByVal e As EventArgs) _ 
    Handles BtnPlay.Click 

    Static PlayNum As Integer = 0 

    PlayNum += 1 
    If PlayNum > 2 Then 
     ... 
    End If 
End Sub 

Примечание, статическая переменная инициализируется только один раз в течение срока службы объекта (типа Form1).

Смежные вопросы