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