BetterMessageBox

    • Release

      BetterMessageBox

      Beschreibung:
      BetterMessagebox ist - wie der Name eigentlich schon sagt - eine bessere Variante der MessageBox. Ich habe darauf geachtet, dass sie sich genauso ansprechen lässt, wie die echte MessageBox, jedoch können dabei benutzerspezifische Bilder und ButtonBeschriftungen gewählt werden, ebenso wie ein Copy-Button.
      Eine vollständige Erklärung findet ihr weiter unten.

      Screenshot:


      Verwendung:
      Die BetterMessageBox basiert selbst auf WPF, ist aber so gekapselt, dass sie auch von WinForms aus leicht benutzt werden kann. Sie befindet sich im Namespace Artentus.UI und besitzt zwei statische Funktionen, ShowWinForms und ShowWPF. Diese Trennun habe ich vorgenommen, da eine Überladung vorrausgesetzt hätte, dass man mit WinForms trotzdem die WPF-Libs einbinden müsste und umgekehrt. Sie besitzen jeweils mehrere Überladungen, ich werde aber nur die längste Version besprechen, da den kürzeren einfach nur Parameter weggenommen wurden.

      WinForms
      Wollt ihr die BetterMessageBox in WinForms verwenden, so müsst ihr die Funktion BetterMessageBox.ShowWinForms aufrufen. Diese besitzt 5 Argumente, die ich nun der Reihe nach durchgehen werde.
      1. text: Der Text, der in der MessageBox angezeigt werden soll. Dies ist der einzig verpflichtende Parameter.
      2. caption: Der Fenstertitel der MessageBox. Wird dieser Parameter nicht angegeben, so wird der Name der Anwendung als Titel genutzt.
      3. buttons: Die auf der MessageBox sichtbaren Buttons. Dies kann entweder ein Wert aus der MessageBoxButtons-Enumeration sein, oder ein String-Array, welches die Texte der Buttons angibt.
      4. icon: Das angezeigte Bild. Dies kann entweder ein Wert aus der MessageBoxIcon-Enumeration, ein System.Drawing.Bitmap oder ein System.Drawing.Icon sein.
      5. showCopyButton: Gibt an, ob der "Kopieren"-Button angezeigt werden soll.


      WPF
      In WPF verhält es sich ganz ähnlich, nur die jeweiligen Typen sind andere und die Funktion heißt BetterMessageBox.ShowWPF.
      1. text: Der Text, der in der MessageBox angezeigt werden soll. Dies ist der einzig verpflichtende Parameter.
      2. caption: Der Fenstertitel der MessageBox. Wird dieser Parameter nicht angegeben, so wird der Name der Anwendung als Titel genutzt.
      3. buttons: Die auf der MessageBox sichtbaren Buttons. Dies kann entweder ein Wert aus der MessageBoxButton-Enumeration sein, oder ein String-Array, welches die Texte der Buttons angibt.
      4. icon: Das angezeigte Bild. Dies kann entweder ein Wert aus der MessageBoxImage-Enumeration oder ein System.Windows.Media.ImageSource sein.
      5. showCopyButton: Gibt an, ob der "Kopieren"-Button angezeigt werden soll.


      Edit: hab gestern ganz vergessen zu erklären, wie man das Ding auswertet (war wohl doch etwas spät). :whistling:

      Ihr wollt natürlich das ERgebnis eurer MessageBox auch auswerten können. Leider kann ich aber kein DialogResult mehr zurückgeben, da ihr je beliebige Buttons erstellen könnt.
      Deswegen gibt die BetterMEssageBox den Index des geklickten Buttons zurück oder wenn sie über das X geschlossen wurde -1.
      Bsp.: Ihr habt den Stil MessageBoxButtons.OKCancel gewählt. Bei einem Klick auf OK liefert euch die MessageBox 0 zurück und bei einem Klick auf Cancel 1.

      Verwendete Programmiersprache und IDE:
      Visual C# (IDE: Visual Studio 2012 Ultimate)

      Systemanforderungen:
      .NET Framework 3.5

      Download:
      BetterMessageBox.zip (6,2 kB)

      Lizenz/Weitergabe:
      Freeware

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Artentus“ ()