8

快速提问:

Microsoft.VisualBasic.Interaction.InputBox在我的 C# 代码中使用 a 来允许用户将网站添加到列表中,但我不希望他们输入空字符串,因此我会在发生这种情况时弹出错误消息。但是,如果用户按下“取消”,也会弹出错误,这是我不希望发生的。

阅读上面的文档说按“取消”会返回一个空字符串,因此它会触发错误。有没有办法仍然定义用户是用空字符串按下“okay”还是“cancel”?

提前致谢,

-彼得

4

2 回答 2

13

你不能这样做。来自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

于 2013-10-30T12:19:03.870 回答
-4
string a;
            a = Interaction.InputBox("message", "title");
            if (a.Length > 0)
            {
                comboBox2.Items.Add(a);
                // ok
            }
            else
            {
                // cancel
            }
于 2014-11-05T08:06:34.637 回答