如何区分InputBox的取消按钮和确定按钮?

问题描述 投票:0回答:3

快速提问:

我在 C# 代码中使用

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

阅读其文档后发现,按“取消”会返回一个空字符串,这就是它引发错误的原因。有没有办法仍然定义用户是否按空字符串“确定”或“取消”?

提前致谢,

-彼得

c# vb.net inputbox
3个回答
15
投票

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


0
投票

粗略的解决方法:

response = InputBox("Please enter ..." & vbCr _
    & "To erase the existing value enter a single blank", _
    "Comma-separated Symbol List", defaultOrPreviousText)

-4
投票
string a;
            a = Interaction.InputBox("message", "title");
            if (a.Length > 0)
            {
                comboBox2.Items.Add(a);
                // ok
            }
            else
            {
                // cancel
            }
© www.soinside.com 2019 - 2024. All rights reserved.