快速提问:
我在 C# 代码中使用
Microsoft.VisualBasic.Interaction.InputBox
来允许用户将网站添加到列表中,但我不希望他们输入空字符串,因此如果发生这种情况,我会弹出错误窗口。但是,如果用户按“取消”,也会弹出错误,这是我不希望发生的情况。
阅读其文档后发现,按“取消”会返回一个空字符串,这就是它引发错误的原因。有没有办法仍然定义用户是否按空字符串“确定”或“取消”?
提前致谢,
-彼得
你不能这样做。来自MSDN
如果用户单击“取消”,则会返回零长度字符串。
Dim result As String = Microsoft.VisualBasic.InputBox("Enter some text")
If result.Length > 0 Then
Debug.WriteLine("Something entered and OK Clicked")
Else
Debug.WriteLine("Cancel Button Clicked OR Blank String Entered and OK Clicked")
End If
最简单的解决方案就是创建自己的简单输入表单并测试
DialogResult
值
粗略的解决方法:
response = InputBox("Please enter ..." & vbCr _
& "To erase the existing value enter a single blank", _
"Comma-separated Symbol List", defaultOrPreviousText)
string a;
a = Interaction.InputBox("message", "title");
if (a.Length > 0)
{
comboBox2.Items.Add(a);
// ok
}
else
{
// cancel
}