2013-05-08 4 views
0

У меня есть форма, содержащая элемент управления вкладкой. На одной вкладке есть один пользовательский элемент управления, другой - другой пользовательский элемент управления. На первой вкладке есть набор флажков. Основываясь на выборе флажков, на другой вкладке отображается комбинированное поле с различными данными. Проблема в том, что пользовательские элементы управления загружаются при загрузке формы, поэтому данные для поля со списком уже установлены. Я хочу перезагрузить данные в поле со списком при изменении выбора на другой вкладке. Я не уверен, как это сделать, потому что я не могу напрямую вызвать метод в одном элементе управления пользователя из другого. Сотрудник предложил мне посмотреть события. Любая помощь или совет будут оценены.Как обновить компонент на странице после изменения на экране

ответ

0

Вы можете использовать событие Enter на вкладках и поместить там код обновления. Это решение не идеально, потому что страницы не будут обновляться, пока вы не «введете» их через TabControl.

Другим вариантом является сохранение ссылки на TabControl внутри каждой страницы и при обновлении данных, обновление страниц, прослушивающих эти данные.

0

«Я не могу напрямую вызывать метод в одном пользовательском элементе управления от другого».

Правда ... но форма может действовать как «средний человек». Первый UserControl может поднять пользовательское событие, на которое будет подписан второй UserControl. Вы можете вручную подключить его к событию Forms Load(), так как Form имеет ссылку на оба UserControls.

Смежные вопросы