Laden...

Modern MessageBoxes/ProgressBoxes

Erstellt von wizer vor 15 Jahren Letzter Beitrag vor 12 Jahren 29.745 Views
W
wizer Themenstarter:in
196 Beiträge seit 2007
vor 15 Jahren
Modern MessageBoxes/ProgressBoxes

Hi ich hab ne kleine DLL gebastelt die moderne MessageBoxen auf die gleiche Weise wie das .Net Framework bereit stellt. Der Funktionsumfang:

MessageBox08 Beispiel:

MessageBox08.Show("Anzeigetext", "Titeltext", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, System.Drawing.Color.CornflowerBlue, MessageBoxOptions.RightAlign);

InputBox08 Beispiel:

InputBox08.Show("Anzeigetitel", "Anzeigetext", System.Drawing.Color.CornflowerBlue);

Die MessageBox08 ist denke ich aufgrund des Namens nicht weiter zu erklären und manche kennen vielleicht vom namen auch die InputBox, diese ist aus VB. Diese stellt ein Eingabefeld dar welche eine Anweisung für den User enthält.

Bilder:

siehe nächsten Beitrag

Viel Spaß damit!

mfg wizer

W
wizer Themenstarter:in
196 Beiträge seit 2007
vor 15 Jahren
Modern MessageBoxes/ProgressBoxes

.

Hinweis von herbivore vor 11 Jahren

Für eine nicht-modale Alternative zur MessageBox und InputBox siehe [Snippet] Nicht-modale Abfrage als Alternative für MessageBoxen (und folgenden Beitrag in [Snippet] Nicht-modale Abfrage als Alternative für MessageBoxen).

3.430 Beiträge seit 2007
vor 15 Jahren

Hi,

das sieht ja klasse aus....
Die werde ich ganz bestimmt in Zukunft testen bzw. einsetzen

Danke für deine saubere Arbeit 👍

mfg
MichlG

W
wizer Themenstarter:in
196 Beiträge seit 2007
vor 15 Jahren

Danke was ich noch gerne integrieren würde:
1.Programm in der Taskleiste soll obwohl die Titelleiste leer ist einen Text anzeigen können. 1.Form passt sich automatisch an die Textgröße an (erledigt, kommt in die nächste Version) 1.Außerdem sollen die Forms in der DLL ausgeblendet werden, so dass man nur auf dei Klassen zugreifen kann, die das ganz eigentlich steuern, jedoch weiß ich nicht wie das geht 🙁 (erledigt, kommt in die nächste Version)

Wenn jemand von euch Lösungen für diese noch kommenden Features weiß dann bitte eine PN an mich 🙂

M
116 Beiträge seit 2006
vor 15 Jahren

Sieht mal gut aus 🙂

Ich werds mir morgen mal herunterladen und testen, Habe gerade leichten stress wg. Eltern, dann noch nen klitzekleinen Streit mit der Freundin, aber gut, nciht euer Problem 😁

Also: Gute Arbeit zumindest vom optischen her!

W
wizer Themenstarter:in
196 Beiträge seit 2007
vor 15 Jahren

OK neue version 0.21 released!

Changelog:
*Automatische Größenanpassung an den Text. Es gilt identes Verhalten wie die MessageBoxes von Microsoft *Kleiner Designfehler beseitigt *Die Forms wurden auf internal gesetzt und können jetzt nur über die statischen Klassen aufgerufen werden.

Außerdem hab ich noch vor weitere solcher Forms zu integrieren. Mich interessiert es nur wie hoch das interesse bei euch liegt z.B. eine ProgressForm d.h. mit verschiedenen Styles: Eine ProgressBar oder CheckBoxes die abgehackt werden.

Bekannte Bugs:

  • Es wird kein Text in der Taskbar angezeigt!

mfg wizer

3.430 Beiträge seit 2007
vor 15 Jahren

Hallo,

Ich habe jetzt deine MessageBoxen ein wenig getestet und bin davon begeistert 🙂

Da hast du eine gute Arbeit geleistet.

Mich interessiert es nur wie hoch das interesse bei euch lieg

Das interesse an weiteren Forms wäre natürlich sehr groß, das es oft recht hilfreich ist, wenn man einfach eine MessageBox nehmen kann.

Eine ProgressBar oder CheckBoxes die abgehackt werden

das wäre super. Wenn du Lust und Zeit hast, dann könntest du ja auch noch eine mit einer combobox bauen.

THX

mfg
MichlG

W
wizer Themenstarter:in
196 Beiträge seit 2007
vor 15 Jahren

Hi hab mich heute dran gesetzt und wie schon erwähnt zwei Fortschrittsformen programmiert. Also es gibt eine ProgressForm und ProgressBox. Die Funktionsweise ist ganz einfach jedoch unterscheiden sich beide Forms im Vergleich zur MessageBox08 und InputBox08 insofern das man diese nicht statisch aufrufbar sind! Also hier ein Beispielcode:

private void button3_Click(object sender, EventArgs e)
        {
            ProgressBox08 ProgressBox = new MessageBox2008.ProgressBox08(new string[2] { "Speicherstände werden gesichert ...", "Speicherständer werden gelöscht ..."}, "Datensicherung");
            ProgressBox.Show();
            Application.DoEvents();
            //Code like delete big file!
            System.Threading.Thread.Sleep(1000);
            ProgressBox.GetNextPoint();
            System.Threading.Thread.Sleep(1000);
            ProgressBox.GetNextPoint();
            //ChangeBackColor
            System.Threading.Thread.Sleep(1000);
            ProgressBox.RenameBox(1, "Fehler beim löschen", Color.Red);
            ProgressBox.Finish();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            ProgressBar08 ProgressBar = new MessageBox2008.ProgressBar08(new string[4] { "Speicherstände werden gesichert ...", "Speicherständer werden gelöscht ...", "AB", "CD" }, "Datensicherung");
            ProgressBar.Show();
            Application.DoEvents();
            //Code like delete big file!
            ProgressBar.GetNextPoint();
            System.Threading.Thread.Sleep(1000);
            ProgressBar.GetNextPoint();
            System.Threading.Thread.Sleep(1000);
            ProgressBar.GetNextPoint();
            System.Threading.Thread.Sleep(1000);
            ProgressBar.GetNextPoint();
            System.Threading.Thread.Sleep(1000);
            ProgressBar.Finish();
        }

mfg wizer 😁

EDIT 2 Bilder:

W
wizer Themenstarter:in
196 Beiträge seit 2007
vor 15 Jahren

Also viel Spaß beim testen! Ahja die ProgressForm ist noch nicht ganz fertig!

W
wizer Themenstarter:in
196 Beiträge seit 2007
vor 15 Jahren

Und noch ein TestProgramm!

Viel Spaß!

S
4 Beiträge seit 2008
vor 15 Jahren

Hi,

also die Boxen sind echt mal gelungen,
hätte da nur noch Anregungen bzw. Verbesserungsvorschläge.

  • Ist es möglich die Boxen als ShowDialog() zu öffnen?
  • Kann man, da ja zur Zeit kein Text in der Taskleiste angezeigt werden kann, das nicht einfach aus der Taskleiste entfernen? "ShowInTask = false"

MfG
SchroederMa

A
266 Beiträge seit 2007
vor 15 Jahren

Sind die MessageBoxen auch für XP nutzbar?
Die sehen so Vista aus...

Von all den Sachen, die mir verloren gegangen, hab ich am meisten an meinem Verstand gehangen... MfG...

3.430 Beiträge seit 2007
vor 15 Jahren

Hi,

Sind die MessageBoxen auch für XP nutzbar?

Ich nehme mal an, dass die für XP und Vista funktionieren.
Bei XP, wird zwar aussen der Rand nicht im Aero-Style sein, aber an sonsten müsste das schon funzen (einfach mal probieren).

mfg
michlG

344 Beiträge seit 2007
vor 15 Jahren

Hallo, unter welchem OS hast du den die Screens gemacht?
unter Vista oder?

Schöne Grüße

👶-> :]-> 8o-> 🙂

4.506 Beiträge seit 2004
vor 15 Jahren

Hallo zusammen,

ich möchte nun nicht in Konkurrenz gehen mit der bisher gezeigten MessageBox, jedoch würde ich gerne auch "meine Kreation" vorstellen:

Sie hat folgende Features:

  • Möglichkeit Fenstertitel anzugeben
  • Ein beliebiges Icon kann mit angezeigt werden (nicht nur Fenstericon)
  • Die Buttons können mit Freitext belegt werden
  • OK oder Abbrechen Button können wahlweise deaktiviert (unsichtbar) werden
  • Detailtext kann mit angegeben werden, welcher sich auf- und zuklappen lässt
  • Entsprechender Rückgabewert (DialogResult) wird übermittelt
  • Alle eigenen Eigenschaften sind thread-sicher gestaltet

Optisch sehen meine Boxen noch nach klassischem Stil aus, das kann aber sicherlich angepasst werden.

2 Wehrmutstropfen gibt es bei meiner Variante allerdings: Es ist in VB.NET programmiert und die Kommentare und Bezeichnungen sind (hoffentlich) alle auf deutsch gehalten.

Warum ich das nun mit hierher poste❔
Weil ich denke, dass die Kombination von meiner MessageBox und der bisher gezeigten wohl grafisch als auch funktionell top wäre. Vielleicht setzt sich jemand hin und kombiniert beides?

Viel Spaß damit
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

4.506 Beiträge seit 2004
vor 15 Jahren

Und hier dann ein Projekt zum download...

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

A
266 Beiträge seit 2007
vor 15 Jahren
Nutzbarkeit

sag mal kann man die Msg2008 auch in kommerziellen produkten benutzen ohne klage befürchten zu müssen?

Von all den Sachen, die mir verloren gegangen, hab ich am meisten an meinem Verstand gehangen... MfG...

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo Atomroflman,

wenn in diesem Thread keine einschränkenden Bedingungen angegeben sind, ja.

Das ergibt sich aus Lizenzbedingungen für .NET-Komponenten und C#-Snippets auf myCSharp.de.

herbivore

T
90 Beiträge seit 2007
vor 15 Jahren

👍 👍 👍
Großes lob an euch find die echt gut!

Nun hätt ich noch ne frage an wizer,
könntest du die src zu deiner dll bereitstellen da ich das ganze design gut finde, und vieleicht irgendwann mal erweitern möchte, beispiel währe die funktion von norman_timo.

Gruß techno_prog

Wer Rechtschreibfehler findet darf sie gern behalten 😄, bin froh wenn ich Sie loswerde 👅 😉

479 Beiträge seit 2008
vor 15 Jahren

Hallo,
Sehen ja schick aus! 8)
Aber noch Tipps zur Verbesserung:*Strg+C kopiert MessageBox Inhalt *Anstatt dem Stern bei "MessageBoxButtons.Warning" ein Ausrufezeichen *MessageBox Titel wird auch im Titel angezeigt

mfg.
markus111

[Follow me on Twitter](http://twitter.com/blendingsky)
Gelöschter Account
vor 15 Jahren

Hallo hab mir eure DialogBoxen mal angeguckt.
Hab aber ein Problem damit.
Die Funktionen sind gut, wer so etwas braucht 👍

Aber das Aussehen!?
Tut mir leid aber das Problem ist folgendes. Microsoft bringt zu jeder Windows Version eine StyleGuide raus. Das heißt Sie geben Aufteilung und Farbbereiche vor, so auch bei DialogBoxen (wozu auch die MessageBox zählt).
Nun ist es so das niemand der ein Programm Entwickelt um diese an den Markt zu bringen, kann eure Komponenten nutzen da man mit Ihnen nie z.B. "Certifyed for Windows XP" bekommt.

Als kleine Anregung würde ich also Vorschlagen, wenn Ihr soetwas macht überlegt euch vorher eine schöne Aufteilung eurer Controls.

Wenn man zum Beispiel ein Controls für Vista macht sollte man sich schon an die Vorlagen halten sonnst passt es nicht zum VistaSytle und wirkt deplatziert.
Link: MSDN: What's New in Windows Vista

So bitte jetzt nicht Wüst beschimpfen , ist nur ne Anregeung (Arbeite seit Jahren in der Softwareentwicklung)

mal anhand eures Beispiels:
1.Abstände viel zu groß , müsste sich Dynamisch erweitern
2. Optische Trennung zwischen Information und Reaktion fehlt
3. hinfällig
4. Rahmen muss als abgrenzung vorhanden sein

946 Beiträge seit 2008
vor 15 Jahren

Ich würde die DialogBoxen gerne erweitern, da ich so etwas auch brauchen kann und die gennanten Mankos beheben. Nur musst du etwas genauer sein. (Sorry, aber in deinem Link fand ich die Informationen nicht).*"1.Abstände viel zu Groß": Wie klein in dem Fall? *"3. immer text recht, infoIcons rechts": Was heisst das? Das Icon ist doch rechts und ist der Text nicht "recht"?

Ich möchte nicht wütend schimpfen (falls du das als so etwas empfindest), sondern nehme diese Kritik entgegen und versuche darauf einzugehen.

Gelöschter Account
vor 15 Jahren

Ich werde mal Verdeutliche was ich meine:

unter MSDN: Dialog Boxes
seht ihr wie die Developer Guidline den Aufbau von Dialogen vorgibt.
Unteranderem gehören dazu Farben, Schriftsatz, Größen, Abstände, Positionen.

Wenn man nun ein eingenes Control entwickelt ist es wichtig sich so nahe wie Möglich an diese Vorgaben zu Halten. Ansonnsten entsteht folgendes Szenario:

User A benutzt seit 2 Jahren Vista und ist den Umgang mit typischen Dialogen und Notifys gewöhnt. Er Lädt sich eein Programm herunter da er im Internet gefunden hat.
Es öffnet sich eine DialogBox die nicht den Designvorgaben entspricht.
Was wird passieren: Er wird Sie als unstimmig und ungewohnt Empfinden.
Folglich wird User A das ganz Programm als irgendwie Komisch in Erinnerung behalten (tatsächliche Erfahrung mit Kunden).

Deshalb mal ein Vorschlag von mir.

T
372 Beiträge seit 2008
vor 14 Jahren
Ist das Projekt gestorben?

Hallo Leute...
ich möchte diesen Threat mal wieder vorkramen, weil ich die beiden Projekte sehr interessant finde.

Leider scheint das ganze etwas eingeschlafen zu sein.

Gibt es mittlerweile weitere Versionen der Projekte?

@wizer...
Du bist noch eine Antwort schuldig :evil:
...gibst Du den Quellcode frei?

Mich würde nämlich ebenfalls die Kombination aus beiden Boxen interessieren und da muss man das Rad ja nicht ein zweites mal erfinden...

greets Tele

946 Beiträge seit 2008
vor 14 Jahren

Ich habe auch mal welche gemacht, die die Anforderungen entsprechen würden.
Das ausfahren geht sogar mit einer schönen Animation. Allerdings sind diese WPF.
Ich bin jetzt jedenfalls auf die Taskdialoge von Windows Vista umgestiegen. An diese kommt man optisch nicht so schnell ran.

@wizer: Dass in der Taskleiste nichts angezeigt wird ist ja klar. Mit ein bisschen WinApi kann man den Titel aber ausblenden, wie das zum Beispiel der Explorer von Vista macht.

mfg
SeeQuark

A
266 Beiträge seit 2007
vor 13 Jahren
Nochmal Rauskramen

Ich will den Thread auch noch ein mal ausgraben weil ich auch gerne auf die MessageBoxen zurück greifen würde...

Allerdings nur wenn ich daran auch etwas anpassen könnte...
Wird es die Sourcen zu dem nicht VB Projekt geben?

Wo bekommt man denn die Taskdialoge von Vista her?

Von all den Sachen, die mir verloren gegangen, hab ich am meisten an meinem Verstand gehangen... MfG...

W
wizer Themenstarter:in
196 Beiträge seit 2007
vor 13 Jahren

Tut mir leid für meine lange Abwesenheit hier im Forum. Zu dem Projekt:

Ich habe keinen Sourcecode mehr!! Sorry...

Ich hab alles selbst gezeichnet und zb ProgressBars selbst programmiert. Diese Dialoge bekommt man von nirgends her.

PS: Vielleicht erstellte ich das Projekt wieder neu, nur diesmal richtig 😉 (threading 😄)

Mfg
wizer

N
191 Beiträge seit 2007
vor 12 Jahren

Ist das ganze nun doch eingeschlafen, oder wird einfach nur fleißig daran gearbeitet?
Nachdem der letzte Beitrag aber schon über ein Jahr alt ist befürchte ich eher ersteres 🙁

"If you give someone a
program, you will frustrate them
for a day; if you teach them how to
program, you will frustrate them
for a lifetime." :evil: