Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Modern MessageBoxes/ProgressBoxes
wizer
myCSharp.de - Member



Dabei seit:
Beiträge: 203

Themenstarter:

Modern MessageBoxes/ProgressBoxes

beantworten | zitieren | melden

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
Attachments
private Nachricht | Beiträge des Benutzers
wizer
myCSharp.de - Member



Dabei seit:
Beiträge: 203

Themenstarter:

Modern MessageBoxes/ProgressBoxes

beantworten | zitieren | melden

.
Attachments
private Nachricht | Beiträge des Benutzers

Moderationshinweis von herbivore (25.09.2012 - 15:54:56):

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).

michlG
myCSharp.de - Experte

Avatar #avatar-2909.png


Dabei seit:
Beiträge: 3652
Herkunft: Naturns - Südtirol - Italien

beantworten | zitieren | melden

Hi,

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

Danke für deine saubere Arbeit

mfg
MichlG
private Nachricht | Beiträge des Benutzers
wizer
myCSharp.de - Member



Dabei seit:
Beiträge: 203

Themenstarter:

beantworten | zitieren | melden

Danke was ich noch gerne integrieren würde:
  1. Programm in der Taskleiste soll obwohl die Titelleiste leer ist einen Text anzeigen können.
  2. Form passt sich automatisch an die Textgröße an (erledigt, kommt in die nächste Version)
  3. 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
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von wizer am .
private Nachricht | Beiträge des Benutzers
Merlin_S
myCSharp.de - Member



Dabei seit:
Beiträge: 116
Herkunft: Hamburg

beantworten | zitieren | melden

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!
private Nachricht | Beiträge des Benutzers
wizer
myCSharp.de - Member



Dabei seit:
Beiträge: 203

Themenstarter:

beantworten | zitieren | melden

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von wizer am .
Attachments
private Nachricht | Beiträge des Benutzers
michlG
myCSharp.de - Experte

Avatar #avatar-2909.png


Dabei seit:
Beiträge: 3652
Herkunft: Naturns - Südtirol - Italien

beantworten | zitieren | melden

Hallo,

Ich habe jetzt deine MessageBoxen ein wenig getestet und bin davon begeistert :-)

Da hast du eine gute Arbeit geleistet.
Zitat von wizer
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.
Zitat von wizer
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
private Nachricht | Beiträge des Benutzers
wizer
myCSharp.de - Member



Dabei seit:
Beiträge: 203

Themenstarter:

beantworten | zitieren | melden

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:
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von wizer am .
Attachments
private Nachricht | Beiträge des Benutzers
wizer
myCSharp.de - Member



Dabei seit:
Beiträge: 203

Themenstarter:

beantworten | zitieren | melden

Also viel Spaß beim testen! Ahja die ProgressForm ist noch nicht ganz fertig!
Attachments
private Nachricht | Beiträge des Benutzers
wizer
myCSharp.de - Member



Dabei seit:
Beiträge: 203

Themenstarter:

beantworten | zitieren | melden

Und noch ein TestProgramm!

Viel Spaß!
Attachments
private Nachricht | Beiträge des Benutzers
SchroederMa
myCSharp.de - Member



Dabei seit:
Beiträge: 4

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Atomroflman
myCSharp.de - Member



Dabei seit:
Beiträge: 274
Herkunft: Hamburg

beantworten | zitieren | melden

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...
private Nachricht | Beiträge des Benutzers
michlG
myCSharp.de - Experte

Avatar #avatar-2909.png


Dabei seit:
Beiträge: 3652
Herkunft: Naturns - Südtirol - Italien

beantworten | zitieren | melden

Hi,
Zitat
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
private Nachricht | Beiträge des Benutzers
Blogscreen
myCSharp.de - Member

Avatar #avatar-2764.gif


Dabei seit:
Beiträge: 389
Herkunft: Stuttgart

beantworten | zitieren | melden

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

Schöne Grüße
:baby:-> :]-> 8o->
private Nachricht | Beiträge des Benutzers
norman_timo
myCSharp.de - Member

Avatar #avatar-1775.jpeg


Dabei seit:
Beiträge: 4591
Herkunft: Wald-Michelbach (Odw)

beantworten | zitieren | melden

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
Attachments
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
private Nachricht | Beiträge des Benutzers
norman_timo
myCSharp.de - Member

Avatar #avatar-1775.jpeg


Dabei seit:
Beiträge: 4591
Herkunft: Wald-Michelbach (Odw)

beantworten | zitieren | melden

Und hier dann ein Projekt zum download...
Attachments
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
private Nachricht | Beiträge des Benutzers
Atomroflman
myCSharp.de - Member



Dabei seit:
Beiträge: 274
Herkunft: Hamburg

Nutzbarkeit

beantworten | zitieren | melden

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...
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
techno_prog
myCSharp.de - Member



Dabei seit:
Beiträge: 91

beantworten | zitieren | melden


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 :D, bin froh wenn ich Sie loswerde :tongue:
private Nachricht | Beiträge des Benutzers
markus111
myCSharp.de - Member

Avatar #avatar-3108.png


Dabei seit:
Beiträge: 520
Herkunft: Henstedt-Ulzburg

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
gordon2001
myCSharp.de - Member



Dabei seit:
Beiträge: 219
Herkunft: Mecklemburg-Vorpommern

beantworten | zitieren | melden

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
Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von gordon2001 am .
Attachments
private Nachricht | Beiträge des Benutzers
SeeQuark
myCSharp.de - Member

Avatar #avatar-2825.jpg


Dabei seit:
Beiträge: 959

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
gordon2001
myCSharp.de - Member



Dabei seit:
Beiträge: 219
Herkunft: Mecklemburg-Vorpommern

beantworten | zitieren | melden

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.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von gordon2001 am .
Attachments
private Nachricht | Beiträge des Benutzers
Telefisch
myCSharp.de - Member



Dabei seit:
Beiträge: 375

Ist das Projekt gestorben?

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
SeeQuark
myCSharp.de - Member

Avatar #avatar-2825.jpg


Dabei seit:
Beiträge: 959

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Atomroflman
myCSharp.de - Member



Dabei seit:
Beiträge: 274
Herkunft: Hamburg

Nochmal Rauskramen

beantworten | zitieren | melden

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...
private Nachricht | Beiträge des Benutzers
wizer
myCSharp.de - Member



Dabei seit:
Beiträge: 203

Themenstarter:

beantworten | zitieren | melden

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 :D)

Mfg
wizer
private Nachricht | Beiträge des Benutzers
NoLimit
myCSharp.de - Member



Dabei seit:
Beiträge: 194
Herkunft: Simmozheim (nähe Stuttgart)

beantworten | zitieren | melden

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:
private Nachricht | Beiträge des Benutzers