Ich finde das Standardverhalten bei der Auswahl der Windows-Baumansicht ziemlich ärgerlich. Wenn Sie beispielsweise den Explorer verwenden und mit der rechten Maustaste auf einen Knoten klicken und auf Eigenschaften klicken, wird der Knoten hervorgehoben und der Eigenschaftendialog für den Knoten angezeigt, auf den Sie geklickt haben. Wenn Sie jedoch aus dem Dialogfeld zurückkehren, war der markierte Knoten der Knoten, der zuvor ausgewählt / hervorgehoben wurde, bevor Sie mit der rechten Maustaste geklickt haben. Ich finde, dass dies Usability-Probleme verursacht, weil ich für immer verwirrt bin, ob ich auf dem richtigen Knoten gehandelt habe.
In vielen unserer GUIs ändern wir den ausgewählten Baumknoten mit einem Rechtsklick, damit keine Verwirrung entsteht. Dies ist möglicherweise nicht dasselbe wie eine Standard-iwndos-App wie Explorer (und ich tendiere dazu, unser GUI-Verhalten aus Usabiltiy-Gründen stark nach Standard-Fenster-Apps zu modellieren). Ich glaube, dass dieser eine Ausnahmefall zu weitaus benutzerfreundlicheren Bäumen führt.
Hier ist ein Code, der die Auswahl beim Klicken mit der rechten Maustaste ändert:
private void tree_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
if ( e.Button == MouseButtons.Right )
{
Point pt = new Point( e.X, e.Y );
tree.PointToClient( pt );
TreeNode Node = tree.GetNodeAt( pt );
if ( Node != null )
{
if ( Node.Bounds.Contains( pt ) )
{
tree.SelectedNode = Node;
ResetContextMenu();
contextMenuTree.Show( tree, pt );
}
}
}
}