Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Узнать текст выбранного нода из другой формы.
|
|||
|---|---|---|---|
|
#18+
На форме frmGraphManager находится TreeView. На 2-ой форме (frmProperties) находится текстбокс txtDescription. Использую следующий код, но возникает ошибка System.NullReferenceException (Object reference not set to an instance of an object.): frmGraphManager frm = new frmGraphManager (); TreeView tvw=(TreeView)frm.Controls[0]; txtDescription.Text=tvw.SelectedNode.Text; <-- Ошибка происходит здесь. Как узнать текст выбранного нода на форме frmGraphManager из другой формы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 12:07 |
|
||
|
Узнать текст выбранного нода из другой формы.
|
|||
|---|---|---|---|
|
#18+
А ты уверен в том что tvw заполнен нодами на момент вызова txtDescription.Text=tvw.SelectedNode.Text; ? В ошибке говорится о том что ссылка не инициализирована объектом. Скорее всего проблема в том что tvw у тебя пустой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 12:36 |
|
||
|
Узнать текст выбранного нода из другой формы.
|
|||
|---|---|---|---|
|
#18+
В том что дерево заполнено нодами абсолюно уверен. Своими глазами видел :)) Но, когда пишешь txtDescription.Text=tvw.ToString(); В поле появляется строка : System.Windows.Forms.TreeView, Nodes.Count: 0 Таким образом, получается, что якобы дерево не заполнено. Странно :(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 13:12 |
|
||
|
Узнать текст выбранного нода из другой формы.
|
|||
|---|---|---|---|
|
#18+
Ну и соответственно txtDescription.Text=tvw.Nodes.Count.ToString(); даёт тот же результат = 0; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 13:15 |
|
||
|
Узнать текст выбранного нода из другой формы.
|
|||
|---|---|---|---|
|
#18+
Если добавить узлы в панели свойств (т.е. в InitializeComponent()), то количество узлов определяется как не нулевое. Но мне необходимо динамически изменять узлы в дереве, т.е. в InitializeComponent не пропишешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 13:32 |
|
||
|
Узнать текст выбранного нода из другой формы.
|
|||
|---|---|---|---|
|
#18+
Ну если вторая форма не принимает значение из 1-ой, то я передал значение из1-ой форму во вторую. Т.о. вопрос закрыт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 14:23 |
|
||
|
Узнать текст выбранного нода из другой формы.
|
|||
|---|---|---|---|
|
#18+
nostraНа форме frmGraphManager находится TreeView. На 2-ой форме (frmProperties) находится текстбокс txtDescription. Использую следующий код, но возникает ошибка System.NullReferenceException (Object reference not set to an instance of an object.): frmGraphManager frm = new frmGraphManager (); TreeView tvw=(TreeView)frm.Controls[0]; txtDescription.Text=tvw.SelectedNode.Text; <-- Ошибка происходит здесь. Как узнать текст выбранного нода на форме frmGraphManager из другой формы? Что - то мне кажется все таки tvw не заполнен. Говоришь своими глазами видел. Твоим глазам я верю, но все зависит от того где ты видел (в каком месте). А покажи код, где ты заполняешь дерево. Я думаю надо поступить примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 14:32 |
|
||
|
Узнать текст выбранного нода из другой формы.
|
|||
|---|---|---|---|
|
#18+
nostraНа форме frmGraphManager находится TreeView. На 2-ой форме (frmProperties) находится текстбокс txtDescription. Использую следующий код, но возникает ошибка System.NullReferenceException (Object reference not set to an instance of an object.): frmGraphManager frm = new frmGraphManager (); TreeView tvw=(TreeView)frm.Controls[0]; txtDescription.Text=tvw.SelectedNode.Text; <-- Ошибка происходит здесь. Как узнать текст выбранного нода на форме frmGraphManager из другой формы? А еще попробуй для отладки так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 14:39 |
|
||
|
Узнать текст выбранного нода из другой формы.
|
|||
|---|---|---|---|
|
#18+
Я даже рад, что переписка продолжилась, потому что проблема "захвата" данных из 1-ой формы другой осталась (хоть передачу из 1-ой во 2-ю осуществил). Создал новый экспериментальный проектик. Условия задачи: существуют 2 формы (Form1 и Form2). На Form1 находится дерево tvw1, содержимое которой зависит от другого дерева (такие уж правила). Заполняем дерево: private void Form1_Load(object sender, System.EventArgs e) { for (int i=0; i<5; i++) tvw1.Nodes.Add ("Item " + i.ToString()); } К tvw1 привязал контаксное меню с одним итемом: private void menuItem1_Click(object sender, System.EventArgs e) { Form2 frm2 = new Form2(); frm2.Show(); } При загрузке формы Form2 заполняем поле txtBox: private void frm_Load(object sender, System.EventArgs e) { Form1 frmNew = new Form1 (); TreeView tvw2=(TreeView)frm.Controls[0]; txtBox.Text=tvw2.Nodes.Count.ToString(); } Узлы в tvw1 существуют, но txtBox.Text=0. Происходит это потому, что переменная frmNew ссылается не на открытую форму класса Form1, а на новый объект, в котором дерево без узлов. А сделать ссылку именно на открытую форму Form1? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 15:26 |
|
||
|
Узнать текст выбранного нода из другой формы.
|
|||
|---|---|---|---|
|
#18+
У вас проблемы с передачей параметров из одной формы в другую. Предложу может не совсем стандартный способ, но работающий: В вызываемой форме находится public метод, который и выполняет .show для себя. В качестве параметров - переменные типа TreeVew (и (или) TextBox), переданные по ссылке. Делаем с ними что хотим в этой вызванной форме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 15:57 |
|
||
|
Узнать текст выбранного нода из другой формы.
|
|||
|---|---|---|---|
|
#18+
nostra Узлы в tvw1 существуют, но txtBox.Text=0. Происходит это потому, что переменная frmNew ссылается не на открытую форму класса Form1, а на новый объект, в котором дерево без узлов. А сделать ссылку именно на открытую форму Form1? Я об этом тебе и намекал в сообщениях выше. Здесь надо продумать как построить многооконное приложение. Возможных реализаций множество и зависит от конкретной задачи. Предлагаю следующую архитектуру: Есть главная форма и она инкапсулирует все остальные формы. Главная форма создает при необходимости экземплЯры других форм Теперь применительно к твоей задаче: Есть две формы Form1 и Form2. Для ясности переименуем Form1 в FormMain Имеем следующий класс FormMain (код урезан): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. А теперь возьмемся за Form2 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. и дальше можно юзать дерево заполненное в главной форме из Form2 используя ParentTree ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 17:34 |
|
||
|
Узнать текст выбранного нода из другой формы.
|
|||
|---|---|---|---|
|
#18+
А еще главное не забыть заполнить дерево. Это можно сделать в конструкторе главной формы. Скорректированная версия конструктора Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 17:39 |
|
||
|
Узнать текст выбранного нода из другой формы.
|
|||
|---|---|---|---|
|
#18+
если у тебя вторая форма открываетсся из первой при при клике на menuitems contexmenu, то передавай этой форме текст из нода, или еще что-то Код: plaintext 1. 2. 3. 4. 5. и в конструкторе Form2 делай с ним все что хош ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 19:45 |
|
||
|
|

start [/forum/topic.php?fid=20&fpage=989&tid=1437686]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 259ms |
| total: | 374ms |

| 0 / 0 |
