【问题标题】:Copy contents of Tab Page c#复制标签页的内容c#
【发布时间】:2012-07-12 07:43:20
【问题描述】:

我有一个选项卡控件,其中一个选项卡页是静态的,而其他选项卡页是通过循环动态创建的。我想复制所有数据形式的静态标签页。静态选项卡包含一个网格视图。我想将该网格视图复制到所有动态创建的网格视图中,但问题是最后一个包含网格视图,而其他的为空白。任何帮助

  for (int i = 1; i <xnl.Count ; i++)
                 {
                     TabPage tb = new TabPage();

                    tb.Controls.Add(datagrid);
                   tabControl1.Controls.Add(tb);
                 }

【问题讨论】:

  • 你找到答案了吗?
  • 我改变了我的技术,现在不改变标签仅参考

标签: c# tabs


【解决方案1】:

我认为你应该克隆你的网格,然后添加克隆的实例

【讨论】:

    【解决方案2】:

    一个控件只能有 1 个父控件,每次将其添加到新的 ControlCollection 时都会更改。你必须复制你的gridview(包括它的所有属性、事件和数据)。也许实现您想要的更简单的方法是处理 tabControl 的Selected 事件以在当前活动的选项卡上显示网格。

    示例:

    tabPage.Selected += (a, b) =>
                    {
                        tabControl1.SelectedTab.Controls.Add(grid);
                    };
    

    【讨论】:

    • @Corne 你说我不会在每个选项卡上创建新控件并处理 TabIndexChanged 。然后我将如何显示选定的选项卡 2 和选项卡 1 的内容
    • @abdul 抱歉,您应该处理 Selected 事件,而不是 TabIndexChanged。但是,根据您的评论,我怀疑您希望每个选项卡上的 gridview 上有不同的内容?在这种情况下,您必须在每个标签页上创建一个新网格。
    • 好的,但是我的网格处理了很多事件,我将如何管理每个 TAB 上的所有这些事件。我希望所有事件都在所有选项卡网格上工作
    • 事件附加到 gridview 实例,您只需更改显示 gridview 的 tabview。这些事件将继续在任何地方显示。如果您必须在每个选项卡上创建一个新的网格视图,我建议您创建一个自定义网格视图,该网格视图源自您附加事件的网格视图类。
    猜你喜欢
    • 2018-12-03
    • 2021-07-12
    • 1970-01-01
    • 2014-02-02
    • 2021-03-12
    • 1970-01-01
    • 2012-07-23
    • 1970-01-01
    • 2019-08-20
    相关资源
    最近更新 更多