我的Tabcontrol有3个Tabpages。我当前在Tabpage 1中,当我选择Tabpage 2.我想在我的UserControl中运行一个分配给该Tabpage的方法。你可以称之为" Focus"监听器。我该如何实现?或者这有可能吗?
修改
假设我有一个名为" UserControl1.cs"的文件。在这里有一个方法OnFocus()
我想在它的Tabpage成为活动标签时调用此方法。我正在将UserControl分配给Tabpage,如下所示:
// 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);
答案 0 :(得分:1)
在此处为EventHandler
添加SelectedIndexChanged
:
...
tabControl.TabPages.Add(newPage);
tabControl.SelectedIndexChanged += new EventHandler(userControl.OnFocus);
您的OnFocus
- 方法应如下所示:
public void OnFocus(object sender, System.EventArgs e)
{
TabControl tc = (TabControl)sender;
if (tc.SelectedTab == this.Parent)
{
//Parent-Tab is selected, do stuff...
}
}