Выбор правильного обработчика событий

#c# #winforms #treeview

#c# #winforms #просмотр дерева

Вопрос:

У меня есть treeview которые имеют в качестве баз данных treenodes, а в базах данных есть таблицы. Я хочу показывать listview при нажатии на название таблицы. Какой обработчик событий я должен использовать для этого? Я пробовал treenodemouseclick , treenodemousedoubleclick и mouseclick обработчики, но никакого эффекта не было. Пожалуйста, помогите.

Комментарии:

1. Было бы полезно, если бы вы переформулировали свой вопрос, чтобы он был более четким. Вы упоминаете ListView и TreeView так, как будто это одно и то же, но это разные элементы управления…

2. В eventhandler, когда я нажал на таблицу узлов treeview, я проверил, является ли treenode, на который я нажал, таблицей, которую я добавляю в элементы управления новым listview (это для начала), но обработчики событий treenodemouseclick и mouseclick мыши ничего не сделали, когда я нажал на имена таблиц

Ответ №1:

Обычно я использую AfterSelectEvent, который приводит ссылку на выбранный узел в аргументе события:

     private void TvwTraining_AfterSelect(object sender, TreeViewEventArgs e)
    {

        if (e.Node.Parent == null)
        {
            // Its a top level node
            ParentObject ParentObj = (ParentObject)e.Node.Tag;
            ShowParentDetails(ParentObj);
        }

        else
        {
            // Its a child node
            ChildObject ChildObj = (ChildObject)e.Node.Tag;
            ShowChildDetails(ChildObj);
        }

    }
  

Затем вам просто нужно обработать событие в зависимости от полученного вами узла.

Удачи, Немезида

Ответ №2:

Вы говорите о Windows.Forms.TreeView ?

Если это так, и вы имеете дело с выбором узлов, вам нужно событие BeforeSelect or AfterSelect .

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

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

http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.aspx