Я только начал разбивать свое приложение GUI на UserControls. У меня есть TabControl с кучей TagePages. Очевидно, что файл MainForm.cs был заполнен множеством событий и элементов управления и т. Д., И это стало очень грязным.Правильное использование UserControl?
Итак, предыдущий вопрос дал мне представление о том, как создать UserControl. Я намерен создать UserControl для каждой TabPage, и мне было интересно, как я могу взаимодействовать с компонентами в основной форме или других UserControls.
Вот пример TabPage, который я создал с помощью UserControl, которому необходимо включить или отключить кнопку, в зависимости от выбранной вкладки TabPage. Это правильное использование или есть лучший способ?
public partial class TabDetails : UserControl
{
private RequestForm fRequestForm;
public TabDetails()
{
InitializeComponent();
}
public void CustomInitialization(RequestForm pRequestForm)
{
fRequestForm = pRequestForm;
pRequestForm.TabControl_Main.SelectedIndexChanged += SelectedTabIndexChanged;
}
private void SelectedTabIndexChanged(object pSender, EventArgs pEvents)
{
fRequestForm.Button_SubmitRequest.Enabled = fRequestForm.TabControl_Main.SelectedTab != fRequestForm.Tab_Details;
}
}
В конструкторе MainForm.cs я называю:
this.tab_Details1.CustomInitialization(this);
Нет. Используйте мероприятие. –
Очевидно, что здесь используется Событие, что делает ваш комментарий еще более бесполезным. Попытайтесь немного описать или предоставить более подробную информацию о том, что вы имеете в виду. – Tada
Это хорошо, потому что ваша страница знает специфику вашего пользовательского контроля. Однако ваш пользовательский элемент управления не должен заботиться о чем-либо на странице, содержащей его. В противном случае вы получите пользовательские элементы управления, которые вы можете использовать только на одном типе страницы. – RobH