2017-03-18 1 views
0

Dans mon application, je souhaite que l'un de mes formulaires Windows affiche un MessageBox si quelque chose est vrai mais que je ne puisse l'obtenir mais je peux le résoudre en lançant un autre événement avant MessageBox, Je veux dire qu'il fonctionne si une autre action se fait avant queMessageBox non affiché sur l'événement FormLoad

code Mon NotWorking pour 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 

Mon code de travail 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 

Dans ce code ce qu'il va faire est, il montrera la deuxième MsgBox, c.-à-"Hello 2 :)" mais ignorera toujours la première MsgBox qui était "Hello :)"

Edit:

Si j'ajoute le style MsgBoxStyle.Critical au style MessageBox Je peux entendre le son critique mais je n'obtiens toujours pas le MessageBox. Aucune idée de ce qui se passe. Cela semble très mauvais BTW, je veux dire que cela semble impossible! comment un MsgBox se ferme automatiquement.

Répondre

0

Ok, donc je résolu mon problème avec cette solution partielle, mais encore me demande quel était le problème ...

Au lieu d'ajouter l'événement à l'intérieur du MsgBoxForm.Load Event j'ai inséré le même à l'intérieur Form.Shown event

Exemple

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 

Et ça a bien fonctionné!