启用/禁用按钮;按钮从不启用(视觉工作室)

时间:2016-01-04 17:06:46

标签: if-statement visual-studio-2015

当前代码:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim Gold = CInt(TextBox1.Text)
    Dim Silver = CInt(TextBox2.Text) / 100
    Dim Copper = CInt(TextBox3.Text) / 10000
    Dim Result = (Gold + Silver + Copper) * 0.85
    Label1.Text = Result & " Gold"

End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    If (TextBox1.Text + TextBox2.Text + TextBox3.Text = "") Then
        Button1.Enabled = False
    Else
        Button1.Enabled = True
    End If
End Sub

为什么每次启动程序时,我都会在textbox1textbox2textbox3输入数字,但按钮无法启用?

2 个答案:

答案 0 :(得分:1)

您需要将TextChanged处理程序添加到TextBox1TextBox2TextBox3。如果其中任何一个文字发生了变化,那么您需要从Form1_Load

进行检查
    If (TextBox1.Text + TextBox2.Text + TextBox3.Text = "") Then
        Button1.Enabled = False
    Else
        Button1.Enabled = True
    End If

理想情况下,编写一个私有方法来执行上面的代码,然后从每个TextBox处理程序中调用它。这是一个很好的做法。

答案 1 :(得分:0)

因为Form1_Load()在您输入数字之前只执行一次。