当前代码:
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
为什么每次启动程序时,我都会在textbox1
,textbox2
和textbox3
输入数字,但按钮无法启用?
答案 0 :(得分:1)
您需要将TextChanged
处理程序添加到TextBox1
,TextBox2
,TextBox3
。如果其中任何一个文字发生了变化,那么您需要从Form1_Load
:
If (TextBox1.Text + TextBox2.Text + TextBox3.Text = "") Then
Button1.Enabled = False
Else
Button1.Enabled = True
End If
理想情况下,编写一个私有方法来执行上面的代码,然后从每个TextBox处理程序中调用它。这是一个很好的做法。
答案 1 :(得分:0)
因为Form1_Load()
在您输入数字之前只执行一次。