Как узнать индекс выделенного элемента в TreeView

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

AnarCky
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 229
Зарегистрирован: 20.11.2006 (Пн) 20:12
Откуда: Россия, Екатеринбург.

Как узнать индекс выделенного элемента в TreeView

Сообщение AnarCky » 14.04.2007 (Сб) 13:10

Собствеено сабж... Скажите пожалуйста. Спасибо!
Компьютеры были придуманы чтобы исправлять ошибки людей. Но кто же тогда будет исправлять ошибки компьютера?..

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.04.2007 (Сб) 13:47

Если ты уже знаешь выделенный элемент, зачем тебе его индекс?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 16.04.2007 (Пн) 7:18

Ну если уж так хочется, то у выделенного узла (как впрочем и любого другого) есть свойство Index.
Весь мир матрица, а мы в нем потоки байтов!

RCLIO
Новичок
Новичок
 
Сообщения: 30
Зарегистрирован: 20.03.2009 (Пт) 18:23

Re: Как узнать индекс выделенного элемента в TreeView

Сообщение RCLIO » 22.03.2009 (Вс) 21:14

Хм..

Есть "дерево":

Код: Выделить всё
-Пункт 1
   -Пункт 1.1
   -Пункт 1.2
-Пункт 2
   -Пункт 2.1
   -Пункт 2.2
...


Например, выделяю "Пункт 1.1".
Узнаю его номер:
Код: Выделить всё
TreeView1.SelectedNode.Index


А вот как узнать номер его "родителя"?
Т.е. нажал на подпункт - узнал его номер и номер пункта, в котором создан этот подпункт.
Последний раз редактировалось RCLIO 22.03.2009 (Вс) 21:20, всего редактировалось 1 раз.

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Как узнать индекс выделенного элемента в TreeView

Сообщение MIT » 22.03.2009 (Вс) 21:17

TreeView1.SelectedNode.Parent.Index
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

RCLIO
Новичок
Новичок
 
Сообщения: 30
Зарегистрирован: 20.03.2009 (Пт) 18:23

Re: Как узнать индекс выделенного элемента в TreeView

Сообщение RCLIO » 22.03.2009 (Вс) 21:22

MIT, спасибо! Выручаешь!!!

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Как узнать индекс выделенного элемента в TreeView

Сообщение MIT » 22.03.2009 (Вс) 21:27

Всегда пожалуйста.
Кстати, в твоем вопросе уже был дан ответ. Ключевое слово
RCLIO писал(а):"родителя"
так что немного логики + object browser и можно решить довольно внушительный объем задач :wink:
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

RCLIO
Новичок
Новичок
 
Сообщения: 30
Зарегистрирован: 20.03.2009 (Пт) 18:23

Re: Как узнать индекс выделенного элемента в TreeView

Сообщение RCLIO » 22.03.2009 (Вс) 22:11

Странно как-то.
Код: Выделить всё
TreeView1.SelectedNode.Parent.Index
- узнаём ID родительского пункта.
Если же выделить сам родительский пункт - вылезает ошибка "В экземпляре объекта не задана ссылка на объект."

Придётся делать проверку на "родитель/не родитель"?

Вообще, нельзя сделать так: нажал на подпункт - получил и его id и id родителя. Нажал на "родителя" - открылся первый подпункт этого "родителя".

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Как узнать индекс выделенного элемента в TreeView

Сообщение MIT » 22.03.2009 (Вс) 22:22

RCLIO писал(а):"В экземпляре объекта не задана ссылка на объект."
У верхнего элемента нет родителя, соотвтсвенно TreeView1.SelectedNode.Parent в этом случае будет равен Nothing, так что просто делай соответствующию проверку:
Код: Выделить всё
if TreeView1.SelectedNode.Parent isnot Nothing then
id = TreeView1.SelectedNode.Parent.Index
Else
...
End if
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

RCLIO
Новичок
Новичок
 
Сообщения: 30
Зарегистрирован: 20.03.2009 (Пт) 18:23

Re: Как узнать индекс выделенного элемента в TreeView

Сообщение RCLIO » 22.03.2009 (Вс) 22:46

Спасибо. Вот так узнаём и номер родителя и номер чилда.

Код: Выделить всё
        If TreeView1.SelectedNode.Parent IsNot Nothing Then
            Debug.Print(TreeView1.SelectedNode.Parent.Index & " - " & TreeView1.SelectedNode.Index)
        End If


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 67

    TopList