Partage
  • Partager sur Facebook
  • Partager sur Twitter

[c#] Problème avec MessageBox.Show

Sujet résolu
Anonyme
    19 avril 2011 à 14:52:56

    Voila, je suis en trin de développer une application qui doit envoyer un message d'avertissement au usager... mais en utilisant "MessageBox.Show", mon programme se "bloque" tant que la personne ne valide pas "ok" et c'est très problématique pour le reste...
    Quelqu'un pourrait m'aider à trouver une alternative à "MessageBox.Show" ou une autre méthode ?
    cordialement Holow971
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      19 avril 2011 à 15:10:22

      Si tu veux une MessageBox non modale, pour montrer des infos par exemple, t'as intérêt à soit créer une autre fenêtre dans laquelle tu affiche ça soit mettre ces infos quelque part sur la fenêtre principale.
      • Partager sur Facebook
      • Partager sur Twitter
        20 avril 2011 à 18:02:09

        En effet, les MessageBox sont dit "modales". Cela a pour effet de bloquer l'application en entier.

        Si tu as besoin que des processus continuent, il y a plusieurs solutions :

        -Crée ta propre MessageBox que tu appelles quand tu en as besoin. Fait attention cependant, car pour faire afficher la fenêtre, tu devras utiliser la méthode Show() de cette Form, et non pas ShowDialog(), car tu auras le même problème (modal).

        -L'autre solution, peu élégante, est de lancer le MessageBox dans un thread différent des processus qui doivent continuer. Là, par contre, tu peux avoir à te lancer dans des algorithmes de synchronisation de threads. Donc cette solution n'est pas vraiment à privilégier.

        Bon codage !
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          20 avril 2011 à 19:31:47

          J'ai pensé aussi au thread mais comme le dit, c'est un peu moche...
          je vais créer un formulaire pour afficher mon message ;) merci !
          • Partager sur Facebook
          • Partager sur Twitter

          [c#] Problème avec MessageBox.Show

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown