組織化された階層内の複数のTreeNodeを表示するTreeViewコントロールがあります。ユーザーが最高レベルのノードを選択するのを止めたい(これはBeforeSelectイベントを使用して達成された)。また、ユーザーが最上位ノードを選択した場合、TreeViewがノードの背景色を変更して「選択」するのを停止したい場合は、TreeViewが最上位ノードを強調表示しないようにします。
私が使用しているTreeViewは、コントロールのWinFormsバージョンです。
以下は私が現在使用しようとしているソースコードです:
private void tree_BeforeSelect ( object sender, TreeViewCancelEventArgs e )
{
if ( e.Node.Level == 0 )
{
e.Cancel = true;
}
}
これはノードの選択を解除しますが、これは望ましくない顕著なフラッシュ(〜200ms)の後でのみです。