Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TreeView - переход в режим редактирования узла, программно 
:(
    Опции темы
Papirus
Дата 26.12.2006, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 19.4.2005
Где: Санкт-Петербург

Репутация: -1
Всего: 1



Собственно, надо как в виндозном проводнике. При создании нового узла (TreeNode) текст, например "Новая папка", должен быть выделен и готов к редактированию. smile

Добавлено @ 13:48 
Блиннннннннннннннннн! Юбилейное сообщение оказалось (256)  smile 
Надо отметить! smile

Добавлено @ 13:50 
Конечно, речь идет только о тех случаях, когда узел создает пользователь.
PM MAIL ICQ   Вверх
Naum
Дата 26.12.2006, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 1
Всего: 15



При добавлении нового узла:

Код

 treeView1.Nodes.Add();
 treeView1.Nodes.Insert();


(в обоих случаях мы знаем, где расположен новый узел, пусть newTreeNode;
1. Выделяем его 
Код
 treeView1.SelectedNode=newTreeNode; 

2. Ставим у treeView свойство  LabelEdit в true (это позволяет редактировать текст узлов пользователю) 
Код
 treeView1.LabelEdit=true; 

3. Добавляем новый handler на событие дерева AfterLabelEdit 
Код
treeView1.AfterLabelEdit += new System.Windows.Forms.NodeLabelEditEventHandler(this.treeView1_AfterLabelEdit);

4. Начинаем редактирование вновь созданного узла 
Код
newTreeNode.BeginEdit();

В процедуре treeView1_AfterLableEdit
Код

 treeView1.LabelEdit=false; //т.е. можно редактировать только новые узлы


Добавлено @ 14:35 
Не. BeginEdit() это не то.

Добавлено @ 14:35 
 smile 

Это сообщение отредактировал(а) Naum - 26.12.2006, 14:27


--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
Papirus
Дата 27.12.2006, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 19.4.2005
Где: Санкт-Петербург

Репутация: -1
Всего: 1



Спасибо, конечно, Naum. Однако все это очевидно и уже давно сделано. Вопрос то в том, что узел создается и выделяется, НО... для редактирвоания текста пользователь должен повторно кликнуть лейбл. И только потом он сможет его изменить. Вот этот-то момент меня и интересует!!!  smile 
В случае текстбокса, чтобы выделить в нем программно текст, можно использовать, например Select()
Код

TextBox1.Select(2, 5)


 А вот в методах TreeNode ничего подобного я не нашел... Очень надеюсь, что плохо искал smile 
PM MAIL ICQ   Вверх
Naum
Дата 27.12.2006, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 1
Всего: 15



Цитата(Naum @  26.12.2006,  15:23 Найти цитируемый пост)
Не. BeginEdit() это не то.

Все таки BeginEdit() то, что надо. 

Вот пример обработчика клика по кнопке button1, который добавляет новый узел и выделяет текст в нем для редактирования
Код

         private void button1_Click(object sender, System.EventArgs e)
        {
            this.treeView1.SelectedNode.Nodes.Add("New node");
            this.treeView1.SelectedNode=this.treeView1.SelectedNode.Nodes[0];
            this.treeView1.SelectedNode.BeginEdit();
        }


Это сообщение отредактировал(а) Naum - 27.12.2006, 12:26


--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
Papirus
Дата 27.12.2006, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 19.4.2005
Где: Санкт-Петербург

Репутация: -1
Всего: 1



РРРаботает!! Спасибо!!
PM MAIL ICQ   Вверх
Naum
Дата 27.12.2006, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 1
Всего: 15



Цитата(Papirus @  27.12.2006,  13:36 Найти цитируемый пост)
Спасибо!! 

Спасибо не булькает smile С тебя шампанское. На Новый год!!! smile 



--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
Papirus
Дата 28.12.2006, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 19.4.2005
Где: Санкт-Петербург

Репутация: -1
Всего: 1



Цитата(Naum @  27.12.2006,  12:43 Найти цитируемый пост)
Спасибо не булькает  С тебя шампанское. На Новый год!!!  

Океюшки!! Наливаю!!!!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0446 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.