如何使用 Select Case 基于 MessageBox 输入给出输出?

Posted

技术标签:

【中文标题】如何使用 Select Case 基于 MessageBox 输入给出输出?【英文标题】:How to give output based on MessageBox input with Select Case? 【发布时间】:2013-05-29 12:53:19 【问题描述】:

如何根据 MessageBox 输入给出输出?

ie. 我有一个应用程序,它在单击按钮时显示 MessageBox。 MessageBox 具有 Abort、Retry 和 Ignore 按钮。 我想在单击每个按钮时做到这一点,我想显示一个带有不同文本的 MessageBox。

例如:在单击 Abort 时,我想显示一个带有“Aborted”文本的 MessageBox。 单击重试时,我想显示一个带有“重试”文本的消息框。 单击忽略时,我想显示一个带有文本“已忽略”的 MessageBox。

我的尝试是:(我收到一个错误:Microsoft.VisualBasic.dll 中出现“System.InvalidCastException”类型的第一次机会异常。附加信息:从字符串“Input”到“Integer”类型的转换是无效。 如果有这个异常的处理程序,程序可以安全地继续。) 公开课形式1 Private Sub Input_Click(sender As Object, e As EventArgs) 处理 Input.Click Dim a As DialogResult = MsgBox("点击任何东西。", "Input", MessageBoxButtons.AbortRetryIgnore)

    Select Case a
        Case Windows.Forms.DialogResult.Abort
            MsgBox("Aborted", "Abort")
        Case Windows.Forms.DialogResult.Retry
            MsgBox("Retried", "Retry")
        Case Windows.Forms.DialogResult.Ignore
            MsgBox("Ignored", "Ignore")
    End Select
End Sub

结束类

PS:最好使用 Select Case。

【问题讨论】:

【参考方案1】:

你来了,伙计。

 Dim a As DialogResult = MessageBox.Show("Click anything.", "Input", MessageBoxButtons.AbortRetryIgnore)

Select Case a
            Case Windows.Forms.DialogResult.Abort
                Console.WriteLine("Aborted")
            Case Windows.Forms.DialogResult.Cancel
                Console.WriteLine("Cancel")
        End Select

【讨论】:

:D 成功了!奇怪的是你必须使用 MessageBox.Show。 MsgBox 曾经为我工作。 MsgBox() 返回一个整数。 MessageBox.Show() 返回一个 DialogResult。

以上是关于如何使用 Select Case 基于 MessageBox 输入给出输出?的主要内容,如果未能解决你的问题,请参考以下文章

使用C#如何表达VBA“select case control.ID”

oracle如何在CASE WHEN ELSE语句中使用select语句?

如何使用 SELECT CASE 和 TO 使用 INTEGER

如何在 SELECT 查询中使用聚合函数和 CASE WHEN THEN

SQL Select CASE-WHEN - 如何从电话号码中删除格式

如何使用 case 语句对子选择的结果进行排序