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

First MessageBox not showing on FormLoad Event

在我的应用程序中,我希望我的 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

我的工作消息框代码:

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 :)"

编辑:

如果我将样式 MsgBoxStyle.Critical 添加到 MessageBox 样式,我可以听到 Critical Sound,但仍然听不到 MessageBox。不知道发生了什么。顺便说一句,这似乎很糟糕,我的意思是这看起来不可能! MsgBox 如何自动关闭。

好的,所以我用这个部分解决方案解决了我的问题,但仍然想知道问题出在哪里...

我没有在 Form.Load Event 中添加 MsgBox 事件,而是在 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

And it worked fine!