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 ?
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.
Du bist eingestellt, danke es klappt! Yeppiee, boah wie ich das Forum hier liebeeeee.
Ich danke Dir.
Gottseidankundallahgepriesen
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.
> Codejunky <
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.