IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[.net 3.5 & C#] MessageBox.Show() centré sur application et non sur l'écran ?


Sujet :

Windows Forms

  1. #1
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut [.net 3.5 & C#] MessageBox.Show() centré sur application et non sur l'écran ?
    salut,


    je chercher a centrer la boite de dialogue ouverte par un MessageBox.Show() sur un des Form de mon application plutôt que sur l'écran en cours.

    quelqu'un sait comment faire ca ?

    merci

  2. #2
    Membre émérite
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Par défaut
    Te faire ta propre messagebox ? C'est pas le standard de windows tout simplement. Alors faut que tu sorte des sentier battu.

    Ouvre notepad, fait un modif, et quit... la messagebox est screen center. C'est le behaviour adopté par microsoft, au lieu dessayer de faire différent, pose toi la question: "Est-ce que microsoft a passé plus de temps que moi (brainstorm) sur le screen behaviour du message box?". La réponse est oui, donc je te conseil de rester comme c'est la, vu que c'est le standard.

    Ma réponse est pas vraiment un aide mais plutot une facon de bien programmer!

  3. #3
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    il doit bien avoir un moyen de viser cette boite pour la centrer ?

  4. #4
    Membre émérite
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Par défaut
    Faut faire du pinvoke pour aller chercher la handle de la messagebox (Google : Messagebox get handle)

    Ensuite tu peux faire un pinvoke SetWindowPos (http://msdn.microsoft.com/en-us/libr...45(VS.85).aspx)

    Pas très élégant mais ca va fonctionné!

  5. #5
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    merci !
    je trouve vraiment crade cette Form qui ne ce centre pas sur le Form parent.

  6. #6
    Membre émérite
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Par défaut
    Tu as trouvé ?

    Je viens de penser a un prob, le messagebox est dialog. Donc ton code va etre blocking.

    Tu va devoir bidouillé un peu pour créé une instance de la messagebox sans faire un show dessus pour pouvoir aller chercher le handle de la window.

    Sinon, tu pourra pas faire du pinvoke dessus car ton code va etre unblock apres avoir choisi un DialogResult.

  7. #7
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    je me suis recrée un composant qui fonctionne + ou - comme le MessageBox (sans les icônes), j'aurais du faire ca des le début car il ce centre sur son Form parent.
    ca élimine tous les problemes des que l'on a plusieurs écrans !

  8. #8
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    je viens de tomber sur la soluce d'un gars qui recupere le handle de la fenetre mais il se refait aussi les classes qui affiche ou gere une fenetre.
    c'est la soluce parfaite mais on peut remarquer que c'est quand meme sacrément compliqué de recuperer et d'utiliser ce handle...

    http://www.codeproject.com/KB/dialog/CenterDialog.aspx

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Messagebox.Show() équivalent en ASP.NET ?
    Par DranDane dans le forum ASP.NET
    Réponses: 3
    Dernier message: 30/05/2008, 18h03
  2. Probleme MsgBox /MessageBox.Show
    Par t1marlartiste dans le forum ASP.NET
    Réponses: 4
    Dernier message: 15/05/2007, 09h26
  3. Problème avec MessageBox.Show
    Par A&Nexus dans le forum Windows Mobile
    Réponses: 4
    Dernier message: 02/01/2007, 14h57
  4. [C++] MessageBox :: show
    Par zemeilleurofgreg dans le forum VC++ .NET
    Réponses: 15
    Dernier message: 12/10/2006, 18h16
  5. [C#]MessageBox.Show();
    Par clemsye dans le forum Windows Forms
    Réponses: 3
    Dernier message: 06/03/2006, 19h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo