选项卡上的WinForms选择了UserControl

时间:2017-11-17 13:04:36

标签: c# winforms user-controls tabcontrol

我的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);

1 个答案:

答案 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...
    }
}
相关问题