| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Обращение к Controls на TabPage |
| Автор: vovkru 16.1.2014, 17:37 | ||||
| Попытаюсь максимально упростить задачу, что-бы было понятно. На форме есть TabControl1, Label1 и два Button При нажатии на кнопку button1 создаётся очередной TabPage и на нём Label
Как теперь обратиться к параметрам созданного Label ? К примеру изменить текст по нажатию кнопки button2 ? Ведь при написании
label2 ещё не существует как и label на всех остальных создаваемых TabPage, а они должны будут содержать собственную информацию. |
| Автор: jonie 16.1.2014, 23:37 | ||||||||
Если вы новчек, то лучше бы писали в тот раздел...
Но вообще настоящие мужики так не пишут. Это унылое ###, а не архитектура. В простом случае: Сначала выбрасывают из головы всякие "лейблы", "табы", и делают пустое консольное приложение. Далее описывают в нём вашу МОДЕЛЬ. Например так:
и т.д. - т.е. декомпозируют предметную область на классы. Далее думают: "погодите, а ведь при добавлении в PageCollection кто-то должен об этом узнавать, значит надо реализовать паттерн "наблюдатель". Ок - сказано - сделано:
Хмм, скажете вы, а если я поменяю Caption где-то в Page или PageData, то как заинтересованные об этом узнают ? Ок, надо реализоват наблюдатель и там:
Оккей, теперь можно подумать как к этому мусору прикручивать интерфейсную часть. Набрасываем всякие разные контролы в презентере (ну если мы например юзаем MVP паттерн) подписываемся на всё что надо у модели и управляем ВИДОМ. А вид может вызывать (вероятно) некоторые изменения модели - нет проблем - достаточно делегировать изменение презентеру в уже существующей модели.... Вуаля.! |
| Автор: vovkru 17.1.2014, 10:23 |
| Благодарствую! Есть от чего отталкиваться! |