2009-04-29 6 views
2

Ich versuche, meine eigene benutzerdefinierte Autocomplete-Stil-Dropdown-Steuerelement in C# .net2.0 zu erstellen. Für die Geschwindigkeit der Entwicklung habe ich mein Steuerelement als UserControl gebaut, aber ich habe ein Problem damit, es auf diese Weise zu tun.Winforms Erstellen von Dropdown-Stil-Panel

Wenn das benutzerdefinierten gezogen Dropdown gezogen wird Ich habe den Usercontrol-Bereich, um die Größe der Lage sein, die Liste der Optionen anzuzeigen.

Idealerweise möchte ich in der Lage sein, das Verhalten der Drodpown-Liste nachzuahmen, indem die Liste der Optionen 'frei schwebend' gezeichnet wird und nicht von der UserControls-Höhe und -Breite (auch nicht von den Grenzen der Elternformen) abhängig ist. Ein Tooltip ist ein weiteres Beispiel für das uneingeschränkte "Floating", das ich mir wünsche.

Der einzige Weg, ich denke, kann dies zu erreichen, ist auf die fliegen, um eine neue Form ohne Rand oder Titelleiste zu erstellen und diese anzuzeigen, wenn das Popup erforderlich ist.

Gibt es eine bessere (aber auch schnelle) Möglichkeit, dies zu tun?

TIA

Antwort

1

Sie müßten ein Formular oder Native verwenden, die Kontrolle zu ermöglichen, richtig zu schweben. Um ein Formular zu erstellen, ist die Steuerung einfach, aber es ist schwieriger, alle Probleme beim Fokussieren/Verbergen zu implementieren und zu handhaben, besonders wenn Sie eine nahtlose Tab-/Key-Navigation benötigen.

1

Sie können versuchen, ein Steuerelement zu erstellen, das auf dem ToolStrip Dropdown-Steuerelement basiert. Ich glaube, dass diese Kontrolle die Funktionalität hat, nach der Sie suchen. Ich habe diese Referenz zum Erstellen von Steuerelementen gefunden, die auf dem ToolStrip basieren. Sie könnten versuchen, damit zu beginnen.

http://blogs.msdn.com/jfoscoding/attachment/1335869.ashx