Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 14
.NET 3.x

Связь TreeView и TabControl: отображение во вкладке информации активного узла

16.12.2011, 16:11. Показов 3618. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! У меня проблема. Я хочу сделать так, чтобы при нажатии ветки в TreeView у меня на TabPage TabControl'a высвечивалась инфа, предназначенная именно для этой ветки. Я долго искал какую либо информацию на эту тему, но потерпел фиаско. На вашем форуме тоже не нашел, вот и решил сам задать вопрос. Буду очень благодарен всем за помощь(можно даже код (против не буду =) ))!
P.S. Я новенький в C#, поэтому буду еще благодарен за объяснение работы с данными элементами (краткое, конечно =) ).
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.12.2011, 16:11
Ответы с готовыми решениями:

Отображение файла в WebBrowser при выборе узла в TreeView
Здравствуйте. Как в treeView при нажатии на подузел(ветка узла), в элементе управления WebBrowser(размещенном уже на форме), сразу...

TabControl цвет вкладке
Подскажите пожалуйста, как в TabControl изменить цвет вкладки когда она активна(то, что на скрине белым цветом) и убрать белую полоску...

Обратиться к компоненту на вкладке TabControl
У меня динамически создаются вкладки на TabControl с компонентом на них. Как после обратиться к этому компоненту, находящемуся на активной...

14
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
16.12.2011, 17:50
На TabPage кидаешь контрол, в зависимости от того, какие данные хочешь отображать....
... в принципе непонятно, в чем заключается проблема.
Правила п.2.6
Как можно более полно описывайте суть проблемы или вопроса, что было сделано для ее решения и какие результаты получены.
0
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 14
16.12.2011, 17:53  [ТС]
Цитата Сообщение от nio Посмотреть сообщение
На TabPage кидаешь контрол, в зависимости от того, какие данные хочешь отображать....
... в принципе непонятно, в чем заключается проблема.
Правила п.2.6
В смысле кидаешь контрол? Контрол чего? Можно как-нибудь это на коде показать?
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
16.12.2011, 18:09
Цитата Сообщение от Kas_Den_Bro Посмотреть сообщение
В смысле кидаешь контрол?
Из ToolBox мышкой вытаскиваешь на форму.
Цитата Сообщение от Kas_Den_Bro Посмотреть сообщение
Контрол чего?
Контрол - элемент управления. А уж чего, это тебе решать, зависит какие данные, и в каком объеме ты собираешься отображать.

Цитата Сообщение от Kas_Den_Bro Посмотреть сообщение
Можно как-нибудь это на коде показать?
Там все мышкой делается, код студия сама генерит
0
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 14
16.12.2011, 19:09  [ТС]
Так, еще раз, где находится этот ToolBox?

Добавлено через 58 минут
Еще раз повторю вопрос, как сделать так, чтобы прb нажатии на ветку из дерева на TabPage выходила информация?
0
 Аватар для Etrimus
399 / 366 / 54
Регистрация: 23.05.2010
Сообщений: 716
17.12.2011, 17:07
Не понял толком, что нужно, попробуй так. На форму кидаешь ТриВью и ТабКонтрол. В событии AfterSelect у ТриВью пишешь:
C#
1
tabControl1.SelectedIndex = e.Node.Index;
Цитата Сообщение от Kas_Den_Bro Посмотреть сообщение
В смысле кидаешь контрол? Контрол чего? Можно как-нибудь это на коде показать?
Цитата Сообщение от Kas_Den_Bro Посмотреть сообщение
Так, еще раз, где находится этот ToolBox?
Контрол - это всё, что находится в ToolBox. А ТулБокс - это панелька, в которой помещены все элементы управления (кнопки, флажки, текстБоксы и всё остальное) и из которой ты их выбираешь и на свою форму кидаешь.
0
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 14
17.12.2011, 19:55  [ТС]
Цитата Сообщение от Etrimus Посмотреть сообщение
Не понял толком, что нужно, попробуй так. На форму кидаешь ТриВью и ТабКонтрол. В событии AfterSelect у ТриВью пишешь:
C#
1
tabControl1.SelectedIndex = e.Node.Index;

Контрол - это всё, что находится в ToolBox. А ТулБокс - это панелька, в которой помещены все элементы управления (кнопки, флажки, текстБоксы и всё остальное) и из которой ты их выбираешь и на свою форму кидаешь.
Пишу эту строку, он говорит, что это недопустимо.
Еще раз. Я хочу сделать так, что когда я нажимаю на одну из веток TreeView и на TabPage(в Tabecontrol'e), и информация принадлежащая ветке дерева отображалась на TabPage TabControl'a!
Вот что я хочу сделать...
0
 Аватар для Etrimus
399 / 366 / 54
Регистрация: 23.05.2010
Сообщений: 716
18.12.2011, 19:29
Цитата Сообщение от Kas_Den_Bro Посмотреть сообщение
Пишу эту строку, он говорит, что это недопустимо.
Что "это"? У меня в проекте всё допустимо, там одна строчка кода и всё работает...
Вложения
Тип файла: rar WindowsFormsApplication1.rar (14.4 Кб, 52 просмотров)
0
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 14
18.12.2011, 20:07  [ТС]
Цитата Сообщение от Etrimus Посмотреть сообщение
Что "это"? У меня в проекте всё допустимо, там одна строчка кода и всё работает...
Это не совсем то, что мне надо. Мне надо, чтобы не для каждого узла был TabPage, а TabControl, у которого определенные TabPage, набитые инфой для узла!
0
CEO
Эксперт С++
 Аватар для Alligieri
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
19.12.2011, 02:40
Насколько я понял задачу
Вложения
Тип файла: rar TreeViewDetailsSample.rar (70.8 Кб, 82 просмотров)
0
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 14
19.12.2011, 15:40  [ТС]
Цитата Сообщение от Alligieri Посмотреть сообщение
Насколько я понял задачу
Огромное спасибо! Это то, что мне и надо было!
 Комментарий модератора 
Если какой-либо пост на форуме показался вам полезным, нажмите кнопку "Спасибо" внизу самого поста.(Правила п.4.5)


Добавлено через 1 час 8 минут
Цитата Сообщение от Alligieri Посмотреть сообщение
Насколько я понял задачу
А это все было написано вручную, верно?
Просто интересно, смогу ли я это повторить...
0
CEO
Эксперт С++
 Аватар для Alligieri
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
19.12.2011, 17:35
Цитата Сообщение от Kas_Den_Bro Посмотреть сообщение
А это все было написано вручную, верно?
Просто интересно, смогу ли я это повторить...
DomainModel - набросал вручную (хотя если вы будете использовать ORM типа EF и шаблоны T4, то можно и сгенерить классы модели)
Далее перетянул на форму TreeView и написал код для заполнения узлов (хотя опять же можно было сделать по другому, но так мне показалось проще)
Создал обработчик выбора узла для выборки нужного мне экземпляра класса Employee из репозитория
Потом бросил на форму TabControl, пару лейблов и bindingSource. Выбрал источником для сорса класс из модели, далее прибиндил свойство Text у нужных лейблов к полям класса модели (Employee) и реализовал метод fillTabs (название конечно неважно), который просто передавал в биндинг сорс нужный екземпляр работника.
1
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 14
19.12.2011, 18:23  [ТС]
Цитата Сообщение от Alligieri Посмотреть сообщение
DomainModel - набросал вручную (хотя если вы будете использовать ORM типа EF и шаблоны T4, то можно и сгенерить классы модели)
Далее перетянул на форму TreeView и написал код для заполнения узлов (хотя опять же можно было сделать по другому, но так мне показалось проще)
Создал обработчик выбора узла для выборки нужного мне экземпляра класса Employee из репозитория
Потом бросил на форму TabControl, пару лейблов и bindingSource. Выбрал источником для сорса класс из модели, далее прибиндил свойство Text у нужных лейблов к полям класса модели (Employee) и реализовал метод fillTabs (название конечно неважно), который просто передавал в биндинг сорс нужный екземпляр работника.
В принципе понятно)
А какаю часть можно скопировать, чтобы создать, например, еще одну такую ветвь (знаю, что способ рабоче-крестьянский, но все же)?
0
CEO
Эксперт С++
 Аватар для Alligieri
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
19.12.2011, 21:00
Цитата Сообщение от Kas_Den_Bro Посмотреть сообщение
А какаю часть можно скопировать, чтобы создать, например, еще одну такую ветвь (знаю, что способ рабоче-крестьянский, но все же)?
В репозитории надо добавить записи в List<Employee>, но только не дублируйте записи - поскольку уникальных идентификаторов у класа Employee нет, то дублирование может привести к ошибкам
1
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 14
21.01.2012, 10:19  [ТС]
А если я хочу засунуть в лейбл намного больше текста (биография, например), но так, чтобы она для каждой ветки была разная. Как мне быть в такой ситуации и что делать? Ведь писать в лейбл биографию бред, особенно если она большая
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.01.2012, 10:19
Помогаю со студенческими работами здесь

Создание textbox во вкладке TabControl
Здравствуйте. Имеется Tabcontrol и в нем несколько вкладок. На каждой вкладке - кнопка. Надо, чтобы при нажатии кнопки. на этой вкладке...

Перебор элементов TextBox на вкладке TabControl
Использую visual studio 2015. Элементы находятся на панели tabcontrol, которая имеет две вкладки(изображение ниже). Сначала заполняется...

Новое окно webbrowser в новой вкладке TabControl
Здравствуйте. На форме TabControl ,на первой вкладке webbrowser.При открытии ссылки в webbrowser открывается новое окно IE, мне...

Как отобразить на другой вкладке tabControl картинку?
На tabControl1 имеется несколько вкладок, на первой вкладке располагается listBox1. Нужно сделать так, если выбрано 1-е значение в listBox,...

Сохранение текста из RichTextBox в текущей вкладке tabControl
Всем привет!)) Вот у меня появилась проблема: У меня есть кнопка и если я на неё нажимаю создаётся вкладка в tabControl1 а внутри...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru