动态设置tabPage的方法

时间:2010-04-09 06:15:44

标签: c# winforms

我有TabControl。我把它添加到了tabpages。其中一个(tpTags)我动态添加usercontrol tagsModule。当我点击tpTags时,我想在tagsModule BindData上调用方法

NEW CODE: 
  TabPage tpTags = new TabPage();
    tabControl1.TabPages.Add(tpTags);
    ...setting properties...
   TagsModule tagsModule = newTagsModule(_countryCode, ObjectType.Country);
 tpTags.Select() = tpTags.BindData(); //**How do it ??**

    tpTags.Controls.Add(tagsModule);

可能是:“如何设置选择此选项卡时触发的事件?”

2 个答案:

答案 0 :(得分:2)

你必须将代表连接到这样的事件:

tabControl1.SelectedIndexChanged += new EventHandler(this.tabControl1_SelectedIndexChanged);

现在您可以将所有代码放在此方法中

private void tabControl1_SelectedIndexChanged(object sender, System.EventArgs e)
{
    if(TabControl1.SelectedTab == tpTags)
    {
        // BindData();
    }
}

只要选择了tabPage“tpTags”,就会运行BindData()。如果您只想第一次,请设置一个标志。

答案 1 :(得分:1)

如果您的意思是“我如何将其作为当前标签”,那么:

tabs.SelectedTab = tpTags;

如果您的意思是“如何在选择此选项卡时做出响应”,那么请查看tpTags.SelectedIndexChanged事件(处理此事件时您不一定需要关心索引 - 您只需检查{ {1}}再次)。