Fermeture automatique de MsgBox

richy93 Messages postés 2 Date d'inscription mardi 24 juin 2003 Statut Membre Dernière intervention 12 mai 2006 - 11 mai 2006 à 21:36
cs_nereck Messages postés 3 Date d'inscription jeudi 29 décembre 2005 Statut Membre Dernière intervention 7 juin 2006 - 7 juin 2006 à 13:43
Bonjour à toutes et à tous,

Voila, j'ai un pb (... non sans déc) en VB.Net 2003 :
Je dispose d'une feuille principale MDI qui contient plusieurs feuilles enfants.
Mon programme les ferme automatiquement au bout d'un certain temps d'inactivité.
Pour fermer les feuilles enfants contenues dans ma feuille principale, pas de pb. Par contre, il peut arriver qu'une des feuilles enfants génère une MsgBox après une action de la part de l'utilisateur. Et la, si ce dernier part et ne revient pas (perdu sur le chemin du retour, rupture d'anevrisme...faut tout prévoir...) : ma fermeture automatique plante, car je détruits toutes les feuilles enfants, y compris celle qui a généré ma MsgBox! Et ca, VB.Net, il aime pas trop...

Auriez-vous une solution ?

Sachant que :
- J'ai essayé le SendKeys.Send pour envoyer a mon appli la touche ALT + N pour valider le bouton "NON" de ma MsgBox
- J'ai essayé le SendKeys.Send pour envoyer a mon appli la touche ECHAP pour valider le bouton "OK" de ma MsgBox
- Les boutons des mes MsgBox varient : un coup y a du VbYesNo, un coup du VbOK, un coup du VbYesCancel, etc...

Je vous remercie par avance pour votre aide!


Richy
A voir également:

4 réponses

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
12 mai 2006 à 06:52
Bonjour ,

Possibilité de remplacer MsgBox par Popup avec un timer.

Const TIMEOUT = 10
Set objShell = WScript.CreateObject("WScript.Shell")


Reponse = objShell.Popup(vbCrLf & _
"Ce Popup remplace un MsgBox" &vbCrLf&vbCrLf& "Sans action de votre part," &vbCrLf&vbCrLf&_
"ce popup s'effacera dans " &vbCrLf& TIMEOUT & " secondes" &vbCrLf&vbCrLf&_
"Vous ne pouvez pas fermer ce popup par la croix !!!" ,TIMEOUT, _
"MsgBox personnalisé",vbYesNo + vbQuestion)

Select Case Reponse
Case vbYes: objShell.Popup "Vous avez cliqué sur Oui" & vbCrLf & vbCrLf & vbCrLf,TIMEOUT
Case vbNo: objShell.Popup "Vous avez cliqué sur Non" & vbCrLf & vbCrLf & vbCrLf,TIMEOUT
Case -1: Wscript.Quit
End Select
Set objShell = Nothing

jean-marc
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
12 mai 2006 à 09:02
Bonjour

Sinon, essaye de prévoir un comportement par défaut, tu peux utiliser un attribut dont tu définit la valeur pour savoir si la fermeture est automatique ou manuelle.

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
0
richy93 Messages postés 2 Date d'inscription mardi 24 juin 2003 Statut Membre Dernière intervention 12 mai 2006
12 mai 2006 à 19:05
Merci bien,

Je vais étudier vos réponses et voir si y a moyen de jouer avec l'une ou l'autre.

Bonne continuation!
0
cs_nereck Messages postés 3 Date d'inscription jeudi 29 décembre 2005 Statut Membre Dernière intervention 7 juin 2006
7 juin 2006 à 13:43
L'histoire de la popup fonctionne très bien. Merci à toi JM ! Cela m'est très pratique.
0
Rejoignez-nous