2012-03-22 69 views
-1

我正在制作这个小程序,因为我很无聊,而且遇到了这个问题。凯文培根从来没有出现,这意味着当我点击否,ElseIf dialogResult.no不会成为真实。MessageBox中的Visual Basic条件语句

这里是我的代码:

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 

末级

+0

哦1和Form 2仅仅是凯文·培根的图片。所以忽略这一点。 – Kentaro51 2012-03-22 14:39:24

+0

不错,这就是我想象的正确的VB代码看起来像:) – 2012-03-22 15:12:47

回答

2

您需要声明一个类型为DialogResult的变量并将MessageBox的结果指定给它。你现在正在做的是寻找的DialogResultForm不是你的'MessageBox的”

Dim Result As DialogResult 

    'Displays the MessageBox 

    Result = MessageBox.Show("You like Kevin Bacon.", "Bacon", MessageBoxButtons.OK) 

    ' Gets the result of the MessageBox display. 

    If Result = System.Windows.Forms.DialogResult.Ok Then 

    End If 
+0

谢谢。这真的有帮助。 – Kentaro51 2012-03-23 14:21:20

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相同。