MessageBox中的Visual Basic条件语句

时间:2012-03-22 14:38:32

标签: visual-studio-2010 messagebox conditional-statements

我正在制作这个小程序因为我很无聊而且遇到了这个问题。 Kevin bacon永远不会出现,这意味着当我点击否时,ElseIf dialogResult.no不会成为现实。

这是我的代码:

Public Class Form1

Private Sub btnMessage_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnMessage.Click
    MessageBox.Show("I like Kevin Bacon.", "Bacon", MessageBoxButtons.OK, MessageBoxIcon.Question)

    If DialogResult.OK Then
        MessageBox.Show("You like Kevin Bacon.", "Bacon", MessageBoxButtons.OK)
        If DialogResult.OK Then
            MessageBox.Show("We all like Kevin Bacon.", "Bacon", MessageBoxButtons.OK)
            If DialogResult.OK Then
                MessageBox.Show("They all like Kevin Bacon.", "Bacon", MessageBoxButtons.OK)
                If DialogResult.OK Then
                    MessageBox.Show("Let's wait to see if Kevin Bacon will come to play.", "Bacon", MessageBoxButtons.YesNo)
                    If DialogResult.Yes Then
                        System.Threading.Thread.Sleep(9000)
                        MessageBox.Show("Kevin bacon didn't show up... :(", "No Bacon", MessageBoxButtons.OK)
                    ElseIf DialogResult.No Then
                        MessageBox.Show("Well too bad! Here's kevin bacon!", "Wild Bacon has appeared!", MessageBoxButtons.OK)
                        Form2.Show()
                    End If
                End If
            End If
        End If
    End If

End Sub

Private Sub btnStuff_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnStuff.Click

End Sub

结束班

2 个答案:

答案 0 :(得分:2)

您需要声明类型为DialogResult的变量,并将MessageBox的结果分配给它。你现在正在做的是查看DialogResult的{​​{1}}而不是你的`MessageBox'

Form

答案 1 :(得分:1)

我认为当你将它作为函数使用时,你正在使用MessageBox.Show作为语句。所以而不是:

MessageBox.Show("You like Kevin Bacon.", "Bacon", MessageBoxButtons.OK)
If DialogResult.OK Then

使用:

If MessageBox.Show("You like Kevin Bacon.", "Bacon", MessageBoxButtons.OK) = DialogResult.OK Then

该示例行来自WinForms应用程序,但WPF和ASP.NET的原理相同。