GUI アプリケーションを UserControls に分割し始めました。たくさんのTagePagesを持つTabControlがあります。明らかに、私の MainForm.cs ファイルは大量のイベントやコントロールなどでいっぱいになり、非常に面倒になりました。
以前の質問で、UserControl の作成方法についての洞察が得られました。TabPage ごとに UserControl を作成するつもりですが、メイン フォームまたは他の 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);