2012-12-24 46 views
0

如何告訴代碼不要將該單詞寫入文本框以便每次點擊該按鈕?使按鈕單擊一次工作

當兩個複選框都被單擊時,文本必須按照添加順序寫入,但是當我再次單擊該按鈕時,文本不應加倍或相乘。

Public Class Form1 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
     If CheckBox1.Checked = True Then 
      TextBox1.Text += ("hello ") 
     End If 
     If CheckBox2.Checked = True Then 
      TextBox1.Text += ("please help") 
     End If 
    End Sub 
End Class 

回答

1

對每個if語句(即每個複選框)使用一個布爾變量。他們最初設置爲false,改變你的代碼看起來像這樣

If CheckBox1.Checked = True And CheckBox1Bool = False Then 
    TextBox1.Text += ("hello ") 
    CheckBox1Bool = True 
End If 
If CheckBox2.Checked = True And CheckBox2Bool = False Then 
    TextBox1.Text += ("please help") 
    CheckBox2Bool = True 
End If 

編輯:

Public Class Form1 
    Dim Bool1 As Boolean 
    Dim Bool2 As Boolean 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
     If CheckBox1.Checked = True And Not Bool1 Then 
      TextBox1.Text += ("hello ") 
      Bool1 = True 
     End If 
     If CheckBox2.Checked = True And Not Bool2 Then 
      TextBox1.Text += ("please help") 
      Bool2 = True 
     End If 
    End Sub 
End Class 

這工作,正如你可以看到我並沒有改變僅在於所添加的代碼我向你建議。

+0

我怎麼可以聲明CheckBox1Bool?該代碼現在不工作.. – Archivist

+0

'Dim CheckBox1Bool As Boolean' VB中布爾值的默認值爲false,因此您甚至不需要首先設置該值 – theClap

+1

是,並將其聲明爲來自成員,而不是局部變量。 –

0

只需在您的Button Click事件中重置您的Checkbox.Checked事件。這樣它將不會再發送文本,直到您重新選擇它。

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 
    If CheckBox1.Checked = True Then 
     CheckBox1.Checked = False 
     TextBox1.Text += ("hello ") 
    End If 
    If CheckBox2.Checked = True Then 
     CheckBox2.Checked = False 
     TextBox1.Text += ("please help") 
    End If 
End Sub 
0

非常感謝您對我的問題的關注。在我檢查了你的解決方案後,我去睡覺了。我發佈的英鎊只是我正想睡覺,再次打開電腦,解決了我的傻問題,這件事情..這個作品非常適合我:)

Public Class Form1 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Textbox1.Text= ("") 
    If CheckBox1.Checked = True Then 
     TextBox1.Text += ("hello ") 
    End If 
    If CheckBox2.Checked = True Then 
     TextBox1.Text += ("please help") 
    End If 
End Sub 

末級