我有一个包含目录的文本框。所以我检查当前机器上是否存在此目录,如果不存在 - 我希望按钮被禁用。
此外,如果文本框为空,我希望按钮启用。
冗长,简短 - 我希望在文本框中更改时控制按钮的可用性。我知道如何检查这些更改,我也知道这是使用EvenHandlers和Listeners完成的,但我真的不知道如何使用它们,如果有人可以给我一个示例代码或步骤说明如何做到 - 这会很棒。因为我需要快速。
修改
问题是我希望这一切都是动态的,所以我想我需要一个Listener
来跟踪文本框值的状态。
F.e。,文本框为空,按钮为Enabled。然后我开始键入一个目录,因为键入的路径不是有效的目录 - 按钮是Disabled。但是这个目录生效的那一刻 - 按钮就会启用。
答案 0 :(得分:1)
在表单和代码中添加一个按钮(Button1
)和一个文本框(TextBox1
):
Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
If (TextBox1.Text Is Nothing Or TextBox1.Text.Trim().Length < 1) Then
Button1.Enabled = False
ElseIf (Not System.IO.Directory.Exists(TextBox1.Text)) Then
Button1.Enabled = False
ElseIf (System.IO.Directory.Exists(TextBox1.Text)) Then
Button1.Enabled = True
End If
End Sub
答案 1 :(得分:1)
如果目录不存在则要禁用按钮,如果存在则启用
Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
Button1.Enabled = Directory.Exists(TextBox1.Text)
End Sub
(需要Imports System.IO
)
答案 2 :(得分:0)
试试这个......
Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
Dim sDir as String=TextBox1.Text
If sDir.Length = 0 Then
Button1.Enabled = True
Else
Button1.Enabled = System.IO.Directory.Exists(sDir)
End If
End Sub