繁体   English   中英

在选项卡控件中找不到动态选项卡页

[英]Dynamic Tab Pages cannot be found within Tab Control

下午好,我的螺旋桨同行。 我今天遇到一个非常奇怪的问题。

在我的C#Winforms应用程序中,我有一个带有Tab控件的表单。 标签控件有4个标签页,这些标签页是我在设计期间添加的。 当我的应用程序运行时,我正在动态添加x数量的选项卡页。

我的问题不在于设计时添加的任何标签页,而在于动态标签页。 动态“标签页”具有按钮,单击这些按钮可以很好地触发。 但是,当我遍历选项卡控件的选项卡页时,仅存在静态选项卡页,而控件中没有动态页。

我有一个创建我的标签页的类,所有这些都工作正常,并按需添加标签页。 类名是TabTree,方法名是Add_Tree_View_Tab。 “测试选项卡”是显示在选项卡上的文本。 此时,null参数无关紧要,因为它已输入到“标签页”上停靠的另一个控件。

tabRecords.TabPages.Add(TabTree.Add_Tree_View_Tab("test tab", null));

我还添加了一个“选项卡页”,以查看是否可以在“选项卡控件”中找到它,但是仍然没有运气。

tabRecords.TabPages.Add("this page", "this page");

试图找到我的动态标签页中的任何一个都没有结果?

internal void Expand_Treeview(object sender, EventArgs e)
{
    try
    {
        Button button = (Button)sender;

        foreach (TabPage tab_page in tabRecords.TabPages)
        {
            if (tab_page.Name == "tab_" + button.Tag.ToString())
            {
                foreach (Control control in tab_page.Controls)
                {
                    if (control is TreeView && control.Name == "treeview_" + button.Tag.ToString())
                    {
                        TreeView Tree_view = (TreeView)control;


                    }
                }
            }
        }
    }

    catch (Exception ex)
    { }
}

我做错了什么或我想念什么? 我花了我们很多人的努力,试图解决这个问题,但目前还没有解决方案……

感谢大家的帮助,您一定使我走上了正确的道路。 这是不同实例和对象被破坏的情况。

有两个类创建动态选项卡。 第一类被实例化,但也从第二类继承。 同样,第二个类继承自实际的形式,以便能够添加选项卡页面上存在的动态按钮事件处理程序。 这些选项卡已创建,但是一旦第一个实例化的类被销毁,所有对动态选项卡的引用都将丢失。 这很有意义。 我没有选择它,因为它是我继承的代码。

再次感谢大家的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM