Laden...

[gelöst] Erstelle eine eigene DropDownControl

Erstellt von McSteel vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.272 Views
M
McSteel Themenstarter:in
43 Beiträge seit 2008
vor 13 Jahren
[gelöst] Erstelle eine eigene DropDownControl

Hallo,

meine Aufgabe ist es verschiedene DropDownControls zu erstellen, welche verschiedne Formatierung vereinfachen sollen.

Ich habe bei CodeProject dieses Sample gefunden.

Anhand dessen habe ich mich dann mal gewagt, leider klappt es nicht so ganz wie ich will.

Ich habe ein CheckedListBox auf dieser DropDownControl gepackt und es funktioniert bis dahin. Nur verstehe ich etwas nicht. Ich möchte in der CheckedListBox mehrere Items auswählen. Das funktioniert bis dahin, aber dann möchte ich mit der Maus aus der Box und das DropDownControl "verschwindet" in den Hintergrund der Applikation. (Im Angehängten Sample findet man das DropDownControl im Hintergrund, man muß nur die Form an die Seite ziehen. Nicht Maus loslassen)

Mit LostFocus und Leave habe ich experimentiert, aber bin nicht zum Erfolg gekommen.

was könnte ich noch machen?

PS: An dieser Stelle kennt jemand ein gutes Buch über Erstellung von Steuerelement in C# für Profianwender ?

M
McSteel Themenstarter:in
43 Beiträge seit 2008
vor 13 Jahren

Hier im Anhang ist mein Projekt zum Testen...

5.299 Beiträge seit 2008
vor 13 Jahren

ich hab einfach im DropDownContainer anstatt des (sehr fragwürdigen) IMessagefilters das Deactivated-Event verwandt:


      internal sealed class DropDownContainer : Form {

      //internal sealed class DropDownContainer : Form, IMessageFilter {

         public bool Freeze;

         protected override void OnDeactivate(EventArgs e) {
            base.OnDeactivate(e);
            OnDropStateChange(eDropState.Closing);
            this.Close();
         }

noch nix getestet, aber einmal gings schon 😉

Der frühe Apfel fängt den Wurm.

M
McSteel Themenstarter:in
43 Beiträge seit 2008
vor 13 Jahren

Du bist eingestellt, danke es klappt! Yeppiee, boah wie ich das Forum hier liebeeeee.
Ich danke Dir.

Gottseidankundallahgepriesen

1.665 Beiträge seit 2006
vor 13 Jahren

ich hab einfach im DropDownContainer anstatt des (sehr fragwürdigen) IMessagefilters

Was ist an IMessageFilter fragwürdig? Ich finde ihn praktisch, wenn man z.B. mit WndProc nicht (mehr) weiterkommt.

5.299 Beiträge seit 2008
vor 13 Jahren

jeder messgefilter filtert alle messages der gesamten app. Bei 2 so combos werden also gleich mal alle messages 2 mal gefiltert.
dagegen wndproc filtert nur die events des controls, OnDeactivated scheint ja nochmal differenzierter zu funzen.

Der frühe Apfel fängt den Wurm.