0

我有一个包含目录的文本框。所以我检查当前机器上是否存在这个目录,如果不存在 - 我希望按钮被禁用。

此外,如果文本框为空,我希望按钮启用。

长话短说 - 我想在文本框发生变化时控制按钮的可用性。我知道如何检查这些更改,我也知道这是使用 EvenHandlers 和 Listeners 完成的,但我真的不知道如何使用它们,如果有人可以给我一个示例代码或如何操作的步骤说明让它 - 它会很棒。因为我需要它快。

编辑: 问题是我希望这一切都是动态的,所以我想我需要一个Listener可以跟踪文本框值的条件的。

Fe,文本框为空,按钮为已启用。然后我开始输入一个目录,因为输入的路径不是一个有效的目录 - 按钮被禁用。但是当这个目录变得有效时 - 按钮被启用。

4

3 回答 3

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
于 2013-06-30T15:10:00.093 回答
1

如果目录不存在,您希望 Button 禁用,如果存在则启用

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

于 2013-06-30T15:22:18.937 回答
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
于 2013-06-30T15:50:24.297 回答