C#中动态添加选项卡怎么使新的选项卡里有其他的控件?

时间:2021-07-29 18:36:02
新建了一个TabControl的控件,然后在TabPage1选项卡里面加了几个控件。
之后我需要使用tabControl1.TabPages.Add(newtabpage)语句动态添加新的选项卡,但添加的新的选项卡是空白的,而我需要的选项卡是和TabPage1一样里面含有控件的。
请问这个该怎么操作?
我试过可以用newtabpage.Controls.Add添加,但很麻烦,如果选项卡里的控件太多就很难操作了
好像有clone()这个函数可以拷贝TabPage1里的控件,但没找到该怎么写代码。
请问,该怎么样动态地添加含有控件的选项卡?

10 个解决方案

#1


话说需要添加多个相同文件的话可以把那些个控件做成一个用户控件。然后每次需要添加的时候只需要添加这个用户控件就可以了

#2


对,之后新添加的选项卡需要实现与第一个选项卡相同的功能。关键是怎么添加上去?难道用controls.add一个一个控件的加上去?

#3


或者循环所有控件加到另一个里面。同时我没有找到clone这个函数。我用过clone的地方就只是克隆数据结构的时候用。控件的话暂时没发现有这个函数可以使用。

#4


引用 2 楼 wsydd123 的回复:
对,之后新添加的选项卡需要实现与第一个选项卡相同的功能。关键是怎么添加上去?难道用controls.add一个一个控件的加上去?

是用用户控件来实现。你在项目哪里选择添加新的用户控件。然后把要用到的控件都拖动到这个用户控件里面。以后添加就只添加这个用户控件而已啊。不用添加其他的了。

#5


其实简单的方法就是你copy下其它页的代码,那是开发环境 生成的。 
当然,自己要修改啦 ,关键步骤不会拉下的。

#6


引用 4 楼 wangcaidpjxwq 的回复:
引用 2 楼 wsydd123 的回复:
对,之后新添加的选项卡需要实现与第一个选项卡相同的功能。关键是怎么添加上去?难道用controls.add一个一个控件的加上去?

是用用户控件来实现。你在项目哪里选择添加新的用户控件。然后把要用到的控件都拖动到这个用户控件里面。以后添加就只添加这个用户控件而已啊。不用添加其他的了。

你是说先将要用的控件自定为一个用户控件,之后再添加吗?这个怎么自定义?添加到选项卡的时候再用controls.add?

#7


引用 6 楼 wsydd123 的回复:
引用 4 楼 wangcaidpjxwq 的回复:
引用 2 楼 wsydd123 的回复:
对,之后新添加的选项卡需要实现与第一个选项卡相同的功能。关键是怎么添加上去?难道用controls.add一个一个控件的加上去?

是用用户控件来实现。你在项目哪里选择添加新的用户控件。然后把要用到的控件都拖动到这个用户控件里面。以后添加就只添加这个用户控件而已啊。不用添加其他的了。

你是说……

是这样子的。你仔细看下新建项里面。有一个添加用户控件。就是在你的项目上面右键-》添加-》用户控件就可以了。比方说你现在新建的用户控件是UC1。那么你每次只要new出一个uc1添加就可以了

#8


 添加选项卡,再这个选项卡里面在增加控件即可

#9


Tabpage tp=new TabPage();
Button btn=new Button();

btn.Text=button1.Text;

tp.Controls.Add(btn);


tabControl.Controls.Add(tp);
自定义控件,每次加载一个控件

#10


可以,谢谢楼上各位了

#1


话说需要添加多个相同文件的话可以把那些个控件做成一个用户控件。然后每次需要添加的时候只需要添加这个用户控件就可以了

#2


对,之后新添加的选项卡需要实现与第一个选项卡相同的功能。关键是怎么添加上去?难道用controls.add一个一个控件的加上去?

#3


或者循环所有控件加到另一个里面。同时我没有找到clone这个函数。我用过clone的地方就只是克隆数据结构的时候用。控件的话暂时没发现有这个函数可以使用。

#4


引用 2 楼 wsydd123 的回复:
对,之后新添加的选项卡需要实现与第一个选项卡相同的功能。关键是怎么添加上去?难道用controls.add一个一个控件的加上去?

是用用户控件来实现。你在项目哪里选择添加新的用户控件。然后把要用到的控件都拖动到这个用户控件里面。以后添加就只添加这个用户控件而已啊。不用添加其他的了。

#5


其实简单的方法就是你copy下其它页的代码,那是开发环境 生成的。 
当然,自己要修改啦 ,关键步骤不会拉下的。

#6


引用 4 楼 wangcaidpjxwq 的回复:
引用 2 楼 wsydd123 的回复:
对,之后新添加的选项卡需要实现与第一个选项卡相同的功能。关键是怎么添加上去?难道用controls.add一个一个控件的加上去?

是用用户控件来实现。你在项目哪里选择添加新的用户控件。然后把要用到的控件都拖动到这个用户控件里面。以后添加就只添加这个用户控件而已啊。不用添加其他的了。

你是说先将要用的控件自定为一个用户控件,之后再添加吗?这个怎么自定义?添加到选项卡的时候再用controls.add?

#7


引用 6 楼 wsydd123 的回复:
引用 4 楼 wangcaidpjxwq 的回复:
引用 2 楼 wsydd123 的回复:
对,之后新添加的选项卡需要实现与第一个选项卡相同的功能。关键是怎么添加上去?难道用controls.add一个一个控件的加上去?

是用用户控件来实现。你在项目哪里选择添加新的用户控件。然后把要用到的控件都拖动到这个用户控件里面。以后添加就只添加这个用户控件而已啊。不用添加其他的了。

你是说……

是这样子的。你仔细看下新建项里面。有一个添加用户控件。就是在你的项目上面右键-》添加-》用户控件就可以了。比方说你现在新建的用户控件是UC1。那么你每次只要new出一个uc1添加就可以了

#8


 添加选项卡,再这个选项卡里面在增加控件即可

#9


Tabpage tp=new TabPage();
Button btn=new Button();

btn.Text=button1.Text;

tp.Controls.Add(btn);


tabControl.Controls.Add(tp);
自定义控件,每次加载一个控件

#10


可以,谢谢楼上各位了