My Tabcontrolには3つのタブページがあります。私はタブページ2を選択すると、現在タブページ1にあります。そのタブページに割り当てられたUserControlでメソッドを実行したいと思います。これを「フォーカス」リスナーと呼ぶことができます。私はこれをどのように実装しますか?あるいは、これはまったく可能ですか?WinForms on Tabpage UserControlで選択した実行メソッド
編集:
は私がそのタブページがアクティブなタブになったときに、このメソッドを呼び出したいメソッドOnFocus()
があり、ここでは「UserControl1.cs」という名前のファイルを持っているとしましょう。私はこのようなタブページに、ユーザーコントロールを割り当てています:
// AllOpenUserControls = List<UserControl> // With the active pages
TabPage newPage = new TabPage();
newPage.Text = title;
newPage.AutoScroll = true;
newPage.BackColor = SystemColors.Window;
newPage.Controls.Add(userControl);
AllOpenUserControls.Add(userControl);
tabControl.TabPages.Add(newPage);
あなたが意味ですかこれは?:https://msdn.microsoft.com/en-us/library/system.windows.forms.tabcontrol.selectedindexchanged(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#コードスニペット-1 – MatSnow
@MatSnowは始まりですが、そのリスナーが呼び出されているときに、私のUserControlの内部でそのメソッドを実行する方法はありますか? –
'TabControl.SelectedIndexChanged'のイベントハンドラを追加します。 https://docs.microsoft.com/en-us/dotnet/framework/winforms/how-to-create-event-handlers-at-run-time-for-windows-forms – MatSnow