![]() |
Модераторы: gambit, Partizan |
![]() ![]() ![]() |
|
Legolas |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 14.2.2007 Репутация: нет Всего: 5 |
Добрый вечер. Возник вопрос - можно ли как-то "передать контрол" при создании новой формы.
пример: есть форма с заполненной датагридвью (или нарисованным графиком (ZEDGraph), при создании\вызове новой формы необходимо, чтобы данный контрол (ZEDGraph или датагридвью) прорисовался на новой форме с заполненными полями\нарисованным графиком. пытался так, но эффект не достиг.
Это сообщение отредактировал(а) Legolas - 21.7.2009, 23:42 |
|||
|
||||
Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 2 Всего: 24 |
Legolas, а зачем целый контрол передавать? не лучше ли "что бы мухи были отдельно от котлет"(данные отдельно, отображение отдельно), лучше передать содержимое, а в новой форме его просто показать в контроле этой формы.
Добавлено через 1 минуту и 45 секунд кстати, просто ради интереса, а что вы делаете с этим контролом в новой форме? можете код показать? |
|||
|
||||
Legolas |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 14.2.2007 Репутация: нет Всего: 5 |
кода пока нет. просто у меня есть график маленького размера - я хочу по щелчку открывать его на новой форме. думаю вы предложили самое оптимальное решение - передавать данные. так и сделаю, зачем мутить что-то =)))
спасибо. PS: я вообще было бы интересно узнать можно ли передать заполненный контрол))) и для чего вообще нужна Form.Controls.Add(...) - кроме как для создания нового. тему пока не закрываю. Добавлено через 11 минут и 57 секунд всё, решил задачу. =))) |
|||
|
||||
Экскалупатор |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 2 Всего: 24 |
Legolas, самому стало интересно. только что попробовал, кнопка передается без проблем, передается так же все что связано с этой кнопкой: обработчики, настройки, полностью все. получается прикольно.
обработчик кнопки в первой форме:
добавление кнопки во второй форме:
сделал через конструктор. Это сообщение отредактировал(а) Экскалупатор - 22.7.2009, 00:32 |
||||
|
|||||
Legolas |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 14.2.2007 Репутация: нет Всего: 5 |
теперь проблема заключается в том, что при добавлении контрола на новую форму он исчезает со старой - как это можно решить.
добавляю так:
|
|||
|
||||
Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 2 Всего: 24 |
если сделать так то все работает и контрол не исчезает:
тут смысл в том что бы именно создать новый контрол и его передать, а не тот что уже есть. интересно почему пропадает старый контрол при передаче. может CLR считает что это уникальный контрол и он может быть только один? Это сообщение отредактировал(а) Экскалупатор - 22.7.2009, 01:58 |
|||
|
||||
Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 2 Всего: 24 |
или это вопросы потокобезопасности... получается что каждаю форма это как отдельный поток, но почему пропадает?...
|
|||
|
||||
Legolas |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 14.2.2007 Репутация: нет Всего: 5 |
да, странно... а нужно именно старый контрол передать как бы сделать копию старого. а получается как команда "вырезать" =))) можно конечно при закрытии формы попробовать его обратно передавать... но это изврат...
что-то мне кажется, что существует какой-то способ.. =) где же наши эксперты? =) Это сообщение отредактировал(а) Legolas - 22.7.2009, 11:38 |
|||
|
||||
antslava |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 16.7.2008 Где: Одесса Репутация: нет Всего: 2 |
Тебе надо отнаследовать свой контрол от ICloneable.
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |