2016-02-29 164 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