Разверните узел Windows Forms TreeView, не выбирая его - PullRequest
4 голосов
/ 26 декабря 2009

Когда я раскрываю узел TreeView, нажимая на знак плюса справа от него, узел выбирается. Как я могу избежать этого? Я хочу иметь возможность расширять узлы без изменения выбранного узла (как, например, в RegEdit.exe) и изменять выбор только при нажатии на текст узла.

(Простите за то, что кажется основным вопросом - я искал вокруг, но ничего не нашел. Любые указатели или ссылки приветствуются.)

Ответы [ 2 ]

1 голос
/ 26 декабря 2009

Я считаю, что есть событие BeforeSelect, к которому вы можете подключиться, что должно позволить вам отменить выбор узла, если у выбранного узла есть дочерние элементы.

private void MyTreeView_BeforeSelect(object sender, TreeViewCancelEventArgs e)
{
 If (nodeWithChildren) e.Cancel = True
}
0 голосов
/ 27 января 2012

Немного опоздал на вечеринку с этим.

Вы можете использовать Hit Test.

    private void myTreeView_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
    {

        TreeViewHitTestInfo info = myTreeView.HitTest(e.Location);

        if (info.Location == TreeViewHitTestLocations.Label)
        {
            TreeNode node = myTreeView.GetNodeAt(e.Location);

            //do something
        }
    }

Это выберет узел, только если щелкнуть метку.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...