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

本文关键字:运行时 创建 删除 | 更新日期: 2023-09-27 17:51:11

我在我的应用程序中有一个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中按其名称找到它。然后将其从TabControl中的TabPages列表中删除。

我得到一个编译错误。当然,这是因为我不能将控件项转换为TabPage。但是,我怎样才能使TabItem控件成为TabItem而不是控件呢?

谢谢. .

编辑:

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

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

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

已经找到我的答案了!

是这样做的:

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

必须在开头强制转换类型。

希望这能帮助到一些人!