C #: Como evitar que a verificação do TreeNode aconteça em um evento de clique duplo

Então eu tenho um TreeView em um aplicativo de formulário do Windows C #. O que eu preciso é que alguns nós sejam "bloqueados" para que não possam ser verificados (ou desmarcados), com base em um parâmetro.

O que estou fazendo agora é o seguinte:

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;
    }
}

Este código funciona muito bem com um único clique da caixa de seleção, mas se o usuário clicar duas vezes em uma caixa de seleção, ele ainda marca / desmarc

Tentei jogar com o evento nodeMouseDoubleClick, mas isso não ajuda muito, pois não posso cancelar o evento ...

Existe alguma idéia lá fora, como cancelar um evento de clique duplo em um nó? ... ou qualquer outra coisa? Obrigad

questionAnswers(4)

yourAnswerToTheQuestion