OVH Cloud OVH Cloud

probleme msgbox

7 réponses
Avatar
rwanou56
J'affiche une message box avant de quitter une application:


If MessageBox.Show("Souhaitez-vous réellement quitter
l'application?", "quitter", MessageBoxButtons.YesNo, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly, False)
= Windows.Forms.DialogResult.Yes Then
Application.Exit()
Else
Me.BringToFront()

End If

mon probleme est que lorsque je clique sur non la fenêtre se miniaturise et
se met en barre des taches alors que je voudrais qu'elle reste affichée au
premier plan. j'utilise Me.BringToFront() mais ca ne marche pas. merci de
votre aide par avance

erwan

7 réponses

Avatar
YB
BringToFront sert à placer un controle au premier plan sur une form.
Dans ton cas, utilise plutôt Me.Focus() ou Me.Select()


YB
Avatar
rwanou56
j'ai deja essayé et ca change rien ma fenetre reste en barre des taches et je
dois cliquer dessus pour la reactivé

en mettant la propriété topmost a true ca marche mais la barre des tache ne
s'affiche plus en bas

"YB" a écrit :

BringToFront sert à placer un controle au premier plan sur une form.
Dans ton cas, utilise plutôt Me.Focus() ou Me.Select()


YB




Avatar
Patrice
Dans quel évènement fait tu cela ? A priori il doit bien y avoir quelque
chose dans ton code qui la minimise...

Teste peut-être dans une application que tu crées à partir de zeéro pour
voir si tu as le même comportement...

--

"rwanou56" a écrit dans le message de
news:
j'ai deja essayé et ca change rien ma fenetre reste en barre des taches et
je
dois cliquer dessus pour la reactivé

en mettant la propriété topmost a true ca marche mais la barre des tache
ne
s'affiche plus en bas

"YB" a écrit :

BringToFront sert à placer un controle au premier plan sur une form.
Dans ton cas, utilise plutôt Me.Focus() ou Me.Select()


YB






Avatar
rwanou56
je fais ca dans l'evenement click d'un bouton

Private Sub BtQuitter_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtQuitter.Click

If MessageBox.Show("Souhaitez-vous réellement quitter
l'application?", "quitter", MessageBoxButtons.YesNo, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly, False)
= Windows.Forms.DialogResult.Yes Then
Application.Exit()
Else
Me.Focus()

End If
End Sub

ma fenetre est maximisée

j'ai essayé dans un projet vide ca me fait la meme chose





"Patrice" a écrit :

Dans quel évènement fait tu cela ? A priori il doit bien y avoir quelque
chose dans ton code qui la minimise...

Teste peut-être dans une application que tu crées à partir de zeéro pour
voir si tu as le même comportement...

--

"rwanou56" a écrit dans le message de
news:
> j'ai deja essayé et ca change rien ma fenetre reste en barre des taches et
> je
> dois cliquer dessus pour la reactivé
>
> en mettant la propriété topmost a true ca marche mais la barre des tache
> ne
> s'affiche plus en bas
>
> "YB" a écrit :
>
>> BringToFront sert à placer un controle au premier plan sur une form.
>> Dans ton cas, utilise plutôt Me.Focus() ou Me.Select()
>>
>>
>> YB
>>
>>





Avatar
YB
Je pense que c'est l'option "MessageBoxOptions.DefaultDesktopOnly" qui
pose problème.

YB
Avatar
Patrice
Ca a l'air de coller chez moi (bien que l'option me semble superflue). Je
n'arrive pas à reproduire le problème....

"rwanou", as tu essayé de reproduire juste ce problème dans un nouveau
projet ?

--

"YB" a écrit dans le message de news:

Je pense que c'est l'option "MessageBoxOptions.DefaultDesktopOnly" qui
pose problème.

YB
Avatar
rwanou56
un grand merci c ca qui possait probleme. j'ai enlevé l'option et ca marche !!!
je vais pouvoir dormir tranquille ce soir

MessageBox.Show("Souhaitez-vous réellement quitter l'application?",
"quitter", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes

@+ et merci a vous 2

si je peux vous aidez un jour