Messagebox.show en VS 2005

Résolu
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010 - 16 juin 2006 à 15:19
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010 - 20 juin 2006 à 14:12
Je craque ....
Je me mets au VS2005 aprés VB6 et un cour instant a VS2003, lorsque j' utilise des messagbox dans mes prog et que l'utilisteur du soft "valide" ou "refuse" le messagebox en question la form d'ou provenait le messagebox (sender(Me)) passe systematiquement en arriere plan et donc si derriere il y a par exemple Explorer d'ouvert ben aprés la fermeture du messagebox au lieu de voir la form de mon prog on se retrouve explorer, si je laisse le bureau derriere le soft tout vas bien, j ai vue une nouvelle propriété dans les Forms VB2005 qui semble dire toujours au dessus, mais comme j' ai plusieur form qui sont afficher par la methode show et pas showdialog si j 'utilse cet propriété ca met la belote, faudrait il par le code dire avant chaque messagebox Form toujours audessu puis apré le message box form pas tjrs au dessu ??

14 réponses

cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
20 juin 2006 à 11:33
J'ajoute que j'ai eu le meme problème en utlisant les options du messagebox donc laisse les parametres par défaut ou utilise Msgbox.
3
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
17 juin 2006 à 11:01
N'utilise pas la propriété TopMost qui permet de laisser une form au premier plan.
Essaye Me.Select avant et après ta MessageBox. Sinon dans quel événement à tu mis ton code pour ouvrir la MessageBox
0
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
18 juin 2006 à 13:35
Ben en fait j'en ai un peut partout mais pour l'exemple j'en est un derriere un evenement de click.
J imagine bien une action/bidouille avant et aprés chaque invocation d'un msgbox mais comme j'en ai pas mal et que je trouve "anormale" ce genre de reaction du code je me demande si il n y a pas une solution un peu plus global, par exemple ds la conf de la form ou carrément de l'application
0
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
18 juin 2006 à 13:39
pour info le me.select avant et aprés n'a aucun effet, je ne sai plus trop si le me.select a une influance sur lz Z-order ou uniquement sur les objet de la frm
Autre info j ai souver utiliser comme methode :
        Dim reponse As MsgBoxResult
       reponse = messagebox.show (.........

cela a t il une influance ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
18 juin 2006 à 17:46
Je ne sais pas mais je n'ai pas ce genre de problème. Essaye reponse =  Msgbox("",...) mais je crois que c'est pareil.


Dis moi si ta form est toujours active quand le message apparaît.. Si c'est le cas ce que ta MessageBox n'est pas modale (je vois pas pourquoi???)
0
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
18 juin 2006 à 17:48
Passe moi le bout de ton code qui pose problème...
0
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
19 juin 2006 à 17:35
J' ai fait un projet tout neuf, de type exe et dans la form1 j' ai mis un bouton et uniquement ce code :
Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click

MessageBox.Show("ceci est un test", "test", MessageBoxButtons.OKCancel, _
MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, _
MessageBoxOptions.DefaultDesktopOnly)

End Sub
End Class
apres execution et clic sur Ok ma form passe a l'arriere plan et je me retrouve avec la fenetre de l'ide VS2005 !!
0
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
19 juin 2006 à 17:37
Nota : je ne connai pas toute les nouvelles options du msgbox mais j ai essayer aussi d'autre truc que desktoponly
0
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
19 juin 2006 à 17:47
le fait de rajouter ceci aprés la cmd de mesagebox semble resoudre partiellement le proble :
Me.BringToFront()
Me.Activate()
En fait je dis partiellement car il m'arrive, et surtout avec le bouton Ok de reproduire le phenoméne.
De plus ce genre de bidouille ne plait gére, je conçoi assez mal le fait d'etre obliger de rajouter ces deux lignes a chaque foi que je fait un nouveau programme rarrrg.
J'ai constaté aussi un autre zarbi qui est que au debut du developpement de mon prog j'ai la possibilité durant le débogage de faire des modifs aprés un point d'arrêt ou une erreur puis de continué l'execution de mon prog comme en vb6 puis au fur et a mesur que j'avance dans le prog il arrive un moment ou l'appli passe en lecture seule quand je suis en mode debogage.
0
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
19 juin 2006 à 23:05
J'irai voir ca demain
0
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
20 juin 2006 à 09:04
Oki, merci de ton intéret
0
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
20 juin 2006 à 11:31
Public






Class
Form1 

 


Private



Sub
Button1_Click(

ByVal
sender

As
System.Object, _


ByVal
e

As
System.EventArgs)

Handles
Button1.ClickMessageBox.Show(


"ceci est un test"
,

"test"
, MessageBoxButtons.OKCancel, _MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)


End



Sub






Private



Sub
Form1_Load(

ByVal
sender

As
System.Object,

ByVal
e

As
System.EventArgs)

Handles



MyBase
.Load


End



SubEnd





Class

Ca chez moi ca marche mais enleve :MessageBoxOptions.DefaultDesktopOnly

.....
0
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
20 juin 2006 à 13:19
Nickel, mais bizarre sur de vieux projet il m'avait semblai essayer sans cette option et toujours constaté ce phenomene

Pour le 2eme point j'ai trouvé c'est a partir du configuration manager que toute ma solution etait passé en release est donc plus de modif possible pendand le debogage, je soupconne que ceci arrive si ont rajoute un projet de setup/deployement a la solution ...
Merci
0
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
20 juin 2006 à 14:12
Ok, bonne continuation
0
Rejoignez-nous