第一个MessageBox未显示在FormLoad事件上

时间:2017-03-18 15:43:22

标签: vb.net messagebox msgbox

在我的应用程序中,我希望我的一个Windows窗体显示一个MessageBox,如果某些内容是真的但我无法得到它但我可以通过在该MessageBox之前抛出一些其他事件来解决这个问题,我的意思是它可以工作,如果其他一些行动在那之前完成

我的NotWorking MessageBox代码:

Private Sub MainInterface_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        If My.Settings.RowName <> "" Then
            If My.Settings.LastModifiedCheck <> SOMETHING Then
                MsgBox("Hello :)")
            End If
        End If
End Sub

我的MessageBox工作代码:

Private Sub MainInterface_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    If My.Settings.RowName <> "" Then
        If My.Settings.LastModifiedCheck <> SOMETHING Then
            MsgBox("Hello :)")
            MsgBox("Hello2 :)")
        End If
    End If
End Sub

在此代码中,它将显示第二个MsgBox,即"Hello 2 :)",但仍会忽略仅MsgBox <的第一个"Hello :)" / p>

修改

如果我将样式MsgBoxStyle.Critical添加到MessageBox样式,我可以听到关键声音,但仍然没有得到MessageBox。不知道发生了什么。看来非常糟糕BTW,我的意思是这看起来不可能! MsgBox如何自动关闭。

1 个答案:

答案 0 :(得分:0)

好的,所以我用这个部分解决方案解决了我的问题,但仍然想知道问题是什么......

我没有在MsgBox内添加Form.Load Event事件,而是在Form.Shown event内插入偶数

实施例

Private Sub MainInterface_Shown(sender As Object, e As EventArgs) Handles Me.Shown
    If My.Settings.RowName <> "" Then
        If My.Settings.LastModifiedCheck <> SOMETHING Then
            MsgBox("Hello :)")
        End If
    End If
End Sub
  

它运作良好!