Итак, у меня есть TreeView в приложении формы Windows С#. Мне нужно, чтобы некоторые узлы были "заблокированы", чтобы они не могли быть проверены (или не отмечены) на основе параметра.
Теперь я делаю следующее:
private void tv_local_BeforeCheck(object sender, TreeViewCancelEventArgs e) {
TNode node = (TNode)e.Node;
//if a part node, cancel the action.
if (node.Type == "Part") {
e.Cancel = true;
}
//if a locked node, cancel the action
if (node.Locked == true) {
e.Cancel = true;
}
}
Этот код отлично работает с одним щелчком флажка, но если пользователь дважды нажимает на этот флажок, он по-прежнему проверяет/отменяет выбор.
Я попытался сыграть с событием nodeMouseDoubleClick, но это действительно не помогает, поскольку я не могу отменить событие...
Есть ли какие-либо идеи, как отменить событие двойного щелчка на node?... или что-нибудь еще? Благодаря