我有一个 TreeView 控件,在有组织的层次结构中显示多个 TreeNode。我想阻止用户选择最高级别的节点(这是通过使用 BeforeSelect 事件实现的)。如果用户选择它们,我还想阻止 TreeView 突出显示顶级节点,即停止 TreeView 更改节点的背景颜色并“选择”它。
我使用的 TreeView 是控件的 WinForms 版本。
以下是我目前尝试使用的源代码:
private void tree_BeforeSelect ( object sender, TreeViewCancelEventArgs e )
{
if ( e.Node.Level == 0 )
{
e.Cancel = true;
}
}
这确实会取消选择节点,但仅在不希望出现的明显闪烁(~200 毫秒)之后。