2013-09-06 5 views
4

У меня есть компонент Devexpress.XtraTreeList. Я хочу поймать событие щелчка, когда нажимают на кнопку расширения или узел? Как я могу это понять?Devexpress.XtraTreeList узел щелчка

Редактировать: На самом деле я пытаюсь сделать что-то вроде Outlook, используя treelist. Когда я нажимаю узел, например, входящие, сообщения в папке «Входящие» отображаются справа на экране. Когда пользователь нажимает на другой узел, твилист должен быть обновлен, потому что некоторые сообщения могут быть прочитаны. Я сделал это в событии click. Все хорошо. Но в этом случае функциональность кнопок расширения не работает нормально.

Here is my problem

+1

Покажите свою работу в качестве текста, пожалуйста .. –

ответ

6

Я нашел решение ..

Спасибо всем ..

private void treeList1_Click(object sender, System.EventArgs e) { 
    DevExpress.XtraTreeList.TreeList tree = sender as DevExpress.XtraTreeList.TreeList; 
    DevExpress.XtraTreeList.TreeListHitInfo info = tree.CalcHitInfo(tree.PointToClient(MousePosition)); 
    if(info.HitInfoType == DevExpress.XtraTreeList.HitInfoType.Cell) 
     ... // your code is here 
} 
2

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

AfterExpand - Пожары сразу после расширения Узла.

BeforeExpand - Пожары перед расширением Узла.

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

Я также отмечу, что DevExpress имеет свою собственную базу знаний с примерами и образцом кода. Было бы большое место, чтобы начать свое исследование для будущих вопросов: http://www.devexpress.com/Support/Center/

+0

я не могу использовать сфокусированное событие потому что моя функция должна изменить источник данных treelist:/Если я могу понять, что пользователь нажимает кнопку расширения или узел, я решил свою проблему. – user983924

1
private void xtraTree_AfterFocusNode(object sender, NodeEventArgs e) 
    { 
    } 

Вы можете обрабатывать выше событие на контроле XtraTreeList, а затем извлечь узел, который щелкнул из NodeEventArgs - e.Node