2013-07-11 151 views
0

当我点击鼠标右键时,下面的过程运行。该过程运行良好,它放置在我的按钮周围的边框。我想完成的是当用户再次单击鼠标右键时,权重设置为0,边框设置为无。鼠标右键单击事件右键单击事件调用取消过程

这里是我的方法:

Private Sub btnEmployeeDashboard_MouseDown(ByValsender As Object, ByVal myButton As System.Windows.Forms.MouseEventArgs) Handles btnEmployeeDashboard.MouseDown 

    If myButton.Button = MouseButtons.Right Then 

     btnEmployeeDashboard.Border.ColorIndex = 2 
     btnEmployeeDashboard.Border.Weight = 4 

    End If 

End Sub 

回答

1

你需要的是可开启的值。我假设你的右键点击意味着什么,所以只需设置一个变量并添加if语句即可。

Dim ButtonClicked as boolean = false 

Private Sub btnEmployeeDashboard_MouseDown(ByValsender As Object, ByVal myButton As System.Windows.Forms.MouseEventArgs) Handles btnEmployeeDashboard.MouseDown 

If myButton.Button = MouseButtons.Right Then 

    If ButtonClicked then 

     btnEmployeeDashboard.Border.Weight = 0 
     ButtonClicked = false 
    else 

     btnEmployeeDashboard.Border.ColorIndex = 2 
     btnEmployeeDashboard.Border.Weight = 4 
     ButtonClicked = true 
    endif 



End If 

End Sub 
+0

谢谢。你的回答让我走上了正确的道路。我能够用类似的方法解决问题。 –

0

下面是修改的代码。我使用切换设置为静态。所以作为一个布尔值,它给了我想要的东西。

Private Sub btnEmployeeDashboard_MouseDown(ByValsender As Object, ByVal myButton As System.Windows.Forms.MouseEventArgs) Handles btnEmployeeDashboard.MouseDown 

    Static Toggle As Boolean 

    If myButton.Button = MouseButtons.Right Then 

     If Toggle Then 

      btnEmployeeDashboard.Border.Weight = 1 

     Else 

      btnEmployeeDashboard.Border.ColorIndex = 2 
      btnEmployeeDashboard.Border.Weight = 4 

     End If 

    End If 
    Toggle = Not Toggle 

End Sub