我刚刚开始将我的 GUI 应用程序分解为 UserControls。我有一个带有一堆 TagePages 的 TabControl。显然,我的 MainForm.cs 文件充满了大量的事件和控件等,而且很快就变得非常混乱。
所以之前的问题让我了解了如何创建用户控件。我打算为每个 TabPage 创建一个 UserControl,我想知道如何与主窗体或其他 UserControls 上的组件进行交互。
这是我使用 UserControl 制作的 TabPage 的示例,它需要根据当前选择的 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);