如何检测vb inputbox里的输入框不为空,顺便取消inputbox中的“取消”键

2024-12-22 02:33:41
推荐回答(2个)
回答1:

楼主说的是VBS吧?VBS的inputbox的“取消”键是不能取消的,但可以通过检测内容是否为空而达到目的(也是楼主的第一个问题)
do while (1)
a=inputbox("hi")
if not a="" then
exit do
end if
loop
这一段vbs,当输入为空或点击了取消键时,会重新弹出inputbox,直到用户输入内容为止。

回答2:

注意:VB.NET专用

方案一:
Dim result As String
input:
result = InputBox("")

If String.IsNullOrWhiteSpace(result) Then
MsgBox("请输入字符串")
GoTo input
End If
方案2:
新建一个对话框,放上一个Lable控件,一个TextBox控件,具体怎么放就不用我说了吧
如果要去掉取消功能可以删去“取消”按钮,并将ControlBox设为False
更改OK_Button_Click过程
Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click

If String.IsNullOrWhiteSpace(TextBox1.Text) Then
MsgBox("请输入字符串")
Exit Sub
End If

Me.DialogResult = System.Windows.Forms.DialogResult.OK
Me.Close()
End Sub
在调用时
Dim result As String
Dim dlg As New Dialog1
If dlg.ShowDialog() = Windows.Forms.DialogResult.OK Then
result = dlg.TextBox1.Text
End If
result 即为返回结果