按名称删除运行时创建的TabItem

时间:2013-01-10 15:11:30

标签: c# winforms runtime tabitem

我的应用中有一个TabControl。根据选中的复选框,我在运行时创建TabItem。取消选中复选框后,必须删除TabItem。现在,我的问题是,我只需删除TabItem

我正在实施此功能,并再次创建每个TabItem。但正如我所说,当选中或取消选中复选框时,我会丢失所有选项卡的所有信息:

tc_Descuento.TabPages.Clear();

我正在阅读一些帖子并尝试过:

TabPage tb = new TabPage();
tb = tc_Descuento.Controls.Find("Cuota-" + Convert.ToString(cuota.num_cuota));
tc_Descuento.TabPages.Remove(tb);

TabItem的名称是:"Cuota-" + Convert.ToString(cuota.num_cuota)

我尝试创建TabItem,然后在TabControl中找到它的名称。然后将其从TabPages中的TabControl列表中删除。

我收到了编译错误。当然,因为我无法将Control项转换为TabPage。但是,如何将TabItem控件作为TabItem而不是控件?

谢谢..

编辑:

tb = Convert.ChangeType(tc_Descuento.Controls.Find("Cuota-" + Convert.ToString(cuota.num_cuota), false).First(), TabItem);

我现在尝试了这个,我需要一种方法将控件转换为TabItem ..但这不是编译:/

1 个答案:

答案 0 :(得分:0)

已经找到了答案!

这是做到这一点的方法:

tb = (TabPage)(tc_Descuento.Controls.Find("Cuota-" + Convert.ToString(cuota.num_cuota), false).First());

你必须在开始时转换类型。

希望这可以帮助别人!