Announcement

Collapse
No announcement yet.

MessageBox modal

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MessageBox modal

    Hallo,
    gibt es eine Möglichkeit modale MessageBoxen in einer Anwendung am Verschwinden hinter irgendeinem der geöffneten Fenster zu hindern ? Das Programm wird dadurch leider praktisch gesperrt.

    Gruß
    Horst

  • #2
    Modale Fenster sollten eigentlich nicht hinter andere Fenster der eigenen Anwendung verschwienden können.

    Wie ruft du den Dialog auf und unter welchen Betriebssystemen tritt der Fall auf. Kenn sowas eigentlich nur von XP + Delphi da in XP das Fensterhandling (u.a. auch wegen des Features von "Ghosting-Fenstern" geändert wurde. Hat MS wohl die gleichen Probleme mit .NET

    Comment


    • #3
      Hi,
      die erste Variante für Fehlermeldungen in formularlosen Klassen und die zweite Variante für Fehlermeldungen aus einem Formular heraus.

      Gruß
      Horst

      public static void Error(string s) {
      MessageBox.Show(s,
      "WinLag",
      MessageBoxButtons.OK,
      MessageBoxIcon.Error);
      }

      // Diese Variante des Error Dialoges soll sicherstellen,
      // das die Fehlermeldung immer oben auf dem Fensterstapel
      // liegt und nicht verdeckt ist. Der Dialog ist modal und
      // daher lassen sich andere Fenster nicht mehr schließen.
      public static void Error(IWin32Window owner, string s) {
      MessageBox.Show(owner,
      s,
      "WinLag",
      MessageBoxButtons.OK,
      MessageBoxIcon.Error);

      Comment


      • #4
        Ps: OS ist Windows 2000 Prof beim Anwender, entwickelt wird unter Win X

        Comment


        • #5
          Also ich hab das folgendermaßen gelöst.
          Ich habe mir eine Handlerklasse geschrieben TFormHandler
          In dieser Klasse habe ich eine Timer-Komponente eine Methode für das Formshow der messagebox und eine für das OnTimer-Event. Den Timer aktiviere ich im FormSHow und im OnTimer setze ich die MessageBox TopMost.

          Muss dazu sagen ich hab das in Delphi realisiert. Aber ist vielleicht ein kleiner Denkanstos

          Comment

          Working...
          X