2012-12-24 2 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 문 (각 확인란)에 대해 부울 변수를 사용하십시오. 처음에 허위로 설정하고이

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에서 Boolean 값의 기본값은 false이므로 먼저 값을 설정하지 않아도됩니다. – theClap

+1

예, 멤버가 아닌 다음과 같이 선언하십시오. 지역 변수. –

0

버튼 클릭 이벤트에서 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

내 문제에 대해 대단히 고맙습니다. 내가 너의 해결책을 확인한 후에 나는 자러 갔다. 난 그냥 잠을 거라고 STG를 발표하고 다시 PC를 열고이 일 ..이 나를 위해 완벽하게 작동합니다 :) 내 바보 같은 문제를 해결

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 

최종 클래스