Strukturansicht doppelklicken Sie auf das Verhalten in .NET / C#
Ich habe eine normale .NET Windows Forms treeview-Steuerelement. Die Knoten sind wie folgt aufgebaut:
Gruppe
---Kind
---Kind
Wenn ich Doppelklick auf eine reduzierte Gruppe den Knoten, dehnt es sich aus (wie man es erwarten würde) und die NodeMouseDoubleClick Ereignis wird abgefeuert, wo mein code, der etwas tut, wenn der ausgewählte Knoten ist KEIN Knoten.
Das problem entsteht, wenn die Gruppe befindet sich in der Nähe der Unterseite des treeview, so dass, wenn ich einen Doppelklick auf die Gruppe Knoten es erfordern würde, um die Strukturansicht zu erweitern, vertikal, passen die Kind-Knoten in die Ansicht. In solchen Fällen, wenn ich doppelklicken Sie auf den Knoten, durch die Zeit, es dehnt sich aus und passt die treeview, meine Maus cursor über einem untergeordneten Knoten (es war zu push-up alles), und verursacht, dass die NodeMouseDoubleClick zu denken, dass die untergeordneten Knoten ausgewählt wird, die bewirkt, dass sehr seltsames Verhalten.
Wie kann ich dies umgehen? Sollte ich nicht mit NodeMouseDoubleClick oder..?
Ich sehe es wurde auch erklärt, in der feedback-Bericht Problem mit TreeView-DoubleClick-Ereignis nach dem aufklappen/Zuklappen verursacht ändern von Blättern.
InformationsquelleAutor der Frage Ivan | 2009-01-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
NodeDoubleClick
ist in Ordnung, aber anstatt diee.Node
verwendenthis.treeView1.SelectedNode
.InformationsquelleAutor der Antwort BFree
Doppelklick auf ein TreeNode-Objekt ist eine Maus-gesten, das ist schon "verwendet" durch das TreeView-auf/Zuklappen von Knoten Microsoft nicht schieben die UI-standards, die so viel wie Apple tut, und auf einer gewissen Ebene ist es enttäuschend, dass Microsoft ausgesetzt NodeDoubleClick, weil Sie ermutigen Sie, sich zu ändern, den TreeView mit Ihrem eigenen Verhalten. Dies kann irreführend sein, um end-Benutzer, die erwarten, dass Allgemeine Verhalten von common controls.
Vom Entwerfen der Benutzeroberfläche von Ben Shneidermandie erste Acht Goldenen Regeln des Interface Design:
Lange Geschichte kurz zu, vielleicht sollten Sie nicht verwenden NodeMouseDoubleClick.
InformationsquelleAutor der Antwort tonyz