2016-02-29 115 views
0

我有一个问题,label1.text需要与mouse left button点击上label8,使达到数5,一个tool strip menu item出现,但即使是5保持它看不见,除了点击一个奇怪的动作时间与mouse right button。这是代码:vb.net鼠标按钮事件和标签

Private Sub Label8_Click(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Label8.Click 
     If e.Button = Windows.Forms.MouseButtons.Left Then 
      Label1.Text = Val(Label1.Text) + 1 
     Else 
      If IsNumeric(Label1.Text = 5) Then 
       CustomizeModeToolStripMenuItem.Visible = True 
      End If 
     End If 
End Sub 
+0

您确定需要在标签8上点击左键来增加数字吗?您的代码另有说明。 – Claudius

+0

哦,对不起,你是对的,我只是编辑它,谢谢你的更正。 – Axel

+0

'Label1.Text = 5'是布尔表达式,而不是数字。所以使用IsNumeric()没有意义。将选项Strict On放在源代码文件的顶部,同时学习该语言,以便编译器可以告诉您有关这些错误的信息。 –

回答

0

UPDATE:

Private Sub Label8_Click(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Label8.Click 
      If e.Button = Windows.Forms.MouseButtons.Left And (Label1.Text <> "5") Then 
       Label1.Text = Val(Label1.Text) + 1 
      ElseIf (Label1.Text = "5") Then 
        CustomizeModeToolStripMenuItem.Visible = True 
      End If 
    End Sub 

问题,你必须是达到这一点:

Else 
      If IsNumeric(Label1.Text = 5) Then 
       CustomizeModeToolStripMenuItem.Visible = True 
      End If 
     End If 

你需要右击因为if statement把所有剩下的点击。我没有测试它,所以如果有什么不工作的话,我会解决它。

+0

它给我一个System.InvalidCastException,它在label8的子部分之后的第一行上, if e.button的代码行,以及两个鼠标按钮的情况。 – Axel

+0

用这个(Label1.Text <>“5”)替换这个IsNumeric(Label1.Text <> 5) – Claudius

+0

我测试了更新的一个,它工作正常。 – Claudius