Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Общие вопросы по .NET и C# > контрол из одной формы другой |
Автор: Ramin 4.8.2006, 23:35 | ||
значит так есть два форма form1, form2 в форм1 есть кнопка и техтбох нажымается на кнопку открывается форм2 в форм2 одна кнопка на ОнКлик написал
в форм1 техтбохе не отображается слово rrrrrrr...тоесть ничего не пишется туда .. в дебаггере посмотрел что значение идет а на нём не показывается... почему? вот собственна проба проект! |
Автор: NikotiN 5.8.2006, 08:05 |
потому как ты содёшь новый объект form1, а не обращаешься к уже созданному. |
Автор: Ramin 5.8.2006, 08:16 | ||
как обрашаться уже созданному обекту форм1 |
Автор: stab 5.8.2006, 08:50 | ||||||
в класс Form1 добавь статичсекое поле:
содержимое метода Main замени на:
во второй форме при клике делай:
чтобы всё сделать красиво, поищи по форуму про синглетоны или, как вариант, можешь создать глобальный статический класс или глобальный объект, где будешь хранить ссылки на все глобальные объекты (формы). |
Автор: Ramin 5.8.2006, 09:13 | ||||||||
Пасибо! одна прозба вот я дал маленкий солютион если не трудно тебя там создай глобальный объект, где будет хранится ссылки на все глобальные объекты ... xnj dpzk z tuj rfr ghbvth! |
Автор: stab 5.8.2006, 09:15 | ||||||
третий вариант. можно передавать ссылку на первую форму через конструктор второй формы. в Form2 добавь конструктор:
при клике:
создавай вторую форму в первой так:
кароче, учите мат. часть. ![]() |
Автор: Ramin 5.8.2006, 22:16 | ||
нашёл такой вариант:
есть ешё один вопрос про компонентов: мне нужна компонент аналогично на компонент DropDownButton но можно было добавлять на его items DateTimepicker .. тоесть на него можно добавлять Combobox но мне нужно DateTimepicker может кто то встречал? или сам зделал! |
Автор: Exception 6.8.2006, 10:01 | ||
Если быть совсем уж придирчивым, это нарушение инкапсуляции: принципа, что каждый класс (например, форма) должен полностью скрывать свою реализацию (то есть не должен иметь public-полей). Уж лучше объявить в форме свойство:
P.S. Одна тема - один вопрос |
Автор: mr.DUDA 6.8.2006, 10:38 |
(offtopic) Это специально для таких ленивых придумали, кто с ООП не дружит ![]() |
Автор: Ramin 6.8.2006, 10:41 | ||
а может быть минусы в таком обрашении? |
Автор: mr.DUDA 6.8.2006, 11:57 |
Потенциальные источники ошибок: 1) форма указывается по строковому имени, а не по ссылке на экземпляр, или хотя бы по типу 2) существование открытой формы в момент обращения к OpenForms не гарантировано Обе ошибки трудноуловимы, и проявляются в run-time, а не на этапе компиляции. |
Автор: Exception 6.8.2006, 12:08 |
Я предпочитаю создавать класс ApplicationManager с методом GetForm<T> where T : Form, возвращающим соответствующую форму из внутренней коллекции или создающим новую, если таковой не находится. |