删除按名称创建的运行时'
本文关键字:运行时 创建 删除 | 更新日期: 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());
必须在开头强制转换类型。
希望这能帮助到一些人!