【问题标题】:Dynamically set method for tabPagetabPage 的动态设置方法
【发布时间】:2010-04-09 06:15:43
【问题描述】:

我有 TabControl。我将它添加到标签页。其中之一(tpTags)我动态添加用户控件标签模块。当我点击 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);

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

【问题讨论】:

  • “设置方法Select()”是什么意思?您的意思是“我如何选择此选项卡?” ?还是您的意思是“如何设置在选择此选项卡时触发的事件?” ?

标签: c# winforms


【解决方案1】:

您必须像这样将代理连接到事件:

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

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

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

BindData() 会在您的 tabPage 'tpTags' 被选中时运行。如果您只想要第一次,请设置一个标志。

【讨论】:

  • 我现在不明白你的问题。你能详细说明一下吗?
  • 我有 TabControl。我添加了标签页。对于其中之一(tpTags),我动态添加 usercontrol tagsModule。当我点击 tpTags 时,我想在 tagsModule BindData 上调用方法
【解决方案2】:

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

tabs.SelectedTab = tpTags;

如果您的意思是“选择此选项卡时我如何响应”,则查看tpTags.SelectedIndexChanged 事件(您在处理此事件时不一定需要关心索引 - 您只需查看tabs.SelectedTab再次)。

【讨论】:

    猜你喜欢
    • 2023-04-04
    • 1970-01-01
    • 2011-07-17
    • 2020-05-30
    • 2012-06-10
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多