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
4

3 回答 3

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

这行得通,正如您所见,我没有更改仅添加在我向您建议的代码中的代码。

于 2012-12-24T21:10:39.107 回答
0

非常感谢您对我的问题的关心。在我检查了你的解决方案后,我上床睡觉了。我刚刚发布了stg,我要睡觉了,然后再次打开电脑,用这个东西解决了我的愚蠢问题..这对我来说很完美:)

    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

结束类

于 2012-12-25T11:31:22.853 回答
0

Just reset your Checkbox.Checked event in your Button Click event. That way it will not send the text again till you reselect it.

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
于 2012-12-24T21:46:39.847 回答