2015-01-06 2 views
3

Я использовал objectlistviewTreeViewList. У меня проблема, я хочу получить идентификатор узла из моего treeviewnode. Я установил contextMenuStrip1, когда пользователь щелкнул правой кнопкой мыши. Я вывожу полосу контекстного меню. И я хочу, чтобы пользователь щелкнул по нему, как не защищенному. Я хочу получить значение Id выбранной строки на этом изображении, которое равно 36993. Ниже приведен экран моей страницы. enter image description hereObjectListView Treeview Получить выбранный узел дерева просмотра ID

Ниже приведен код для открытия контекстного меню и нажатия события.

treeListView1.CellRightClick += new EventHandler<BrightIdeasSoftware.CellRightClickEventArgs>(treeListView1_CellRightClick); 
    void treeListView1_CellRightClick(object sender, BrightIdeasSoftware.CellRightClickEventArgs e) 
    { 

     contextMenuStrip1.Show(Cursor.Position); 

    } 

в этой строке кода я хочу найти выбранный идентификатор узла, который не работает

private void command1ToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     // List<Node> _node = new List<Node>(); 
     object obj = e.GetType(); 
    object _node= this.treeListView1.SelectedObjects ; 
    } 

также я пытаюсь найти из этого

private void command1ToolStripMenuItem_Click(object sender, EventArgs e) 
    { 

     int index = data.IndexOf((Node)treeListView1.SelectedObject) 
    } 

то, что я делаю неправильно в этом коде. Как я могу ее решить. Спасибо за ваши комментарии

+0

Что именно означает «не работает»? Сообщение компиляции? Исключение времени выполнения? Не ожидаемый результат? – Sinatr

+0

@Sinatr 'object _node = this.treeListView1.SelectedObjects;' я ничего не получаю в '_node', из которого я могу найти id –

+0

Является ли' _node == null'? Или это какая-то ценность, и вы не знаете, как ее использовать? Winforms ['TreeView'] (http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.aspx) не имеет свойства SelectedObjects, что является' treeListView1' и что возврат собственности? – Sinatr

ответ

2

Вы уже можете выбрать модельный объект выбранной линии в обработчике CellRightClick.

private MyModelType _ContextModel; 

void treeListView1_CellRightClick(object sender, BrightIdeasSoftware.CellRightClickEventArgs e) { 
    _ContextModel = e.Model as MyModelType; 
    contextMenuStrip1.Show(Cursor.Position); 
} 

Затем используйте в вас _ContextModelcommand1ToolStripMenuItem_Click обработчика.

+0

спасибо, что это работает для меня –

Смежные вопросы