如何检查是否已从c#3.0中的Tabcontrol中删除了TabPage [英] How to Check if TabPage has been Removed from Tabcontrol in c#3.0

查看:188
本文介绍了如何检查是否已从c#3.0中的Tabcontrol中删除了TabPage的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hello Team,



我在我的应用程序中使用C#3.0。

带有TabControl和5个TabPages的Windows窗体。

根据数据,我只填充了需要的标签和休息我正在删除,如下所示 -

Hello Team,

I am using C# 3.0 in my application.
Windows form having TabControl with 5 TabPages.
As per Data I am populated only required Tabs and Rest I am deleting as shown below -

tabControl1.Controls.Remove(MytabPage1);



现在我想检查一下 - 我删除了哪些标签以及哪些标签现在可以在Windows窗体上看到。



请帮忙。


Now I want to check - Which Tabs I have removed and which tabs are now visible on Windows Form.

Please help.

推荐答案

我建​​议你定义一个List< TabPage>保留已删除的TabPages,并为TabControl提供'ControlRemoved EventHandler:
I suggest you define a List<TabPage> to hold the removed TabPages, and provide a 'ControlRemoved EventHandler for the TabControl:
private List<tabpage> RemovedTabs;

private void Form1_Load(object sender, EventArgs e)
{
    RemovedTabs = new List<tabpage>();

    YourTabControl.ControlRemoved += YourTabControl_ControlRemoved;
}

private void YourTabControl_ControlRemoved(object sender, ControlEventArgs e)
{
    // for testing only
    Console.WriteLine("removed TabPage {0}", e.Control.Name);
    
    RemovedTabs.Add(e.Control as TabPage);
}</tabpage></tabpage>

请注意,已移除的TabPages 已处置!因此,如果你想要一个TabPage,你应该在调用'Dispose之前从'RemovedTabs列表中删除它。



使用这种技术你可以检查哪些TabTages是通过简单地枚举TabControl.TabPages TabPagesCollection来打开,并通过枚举'RemovedTabs中的列表来检查已删除哪些选项卡。

Note that removed TabPages are not Disposed ! So, if you want to Dispose a TabPage, you should remove it from the 'RemovedTabs List before you call 'Dispose.

Using this technique you can check which TabPages are "open" by simply enumerating the TabControl.TabPages TabPagesCollection, and check which Tabs have been removed by enumerating the list in 'RemovedTabs.


这篇关于如何检查是否已从c#3.0中的Tabcontrol中删除了TabPage的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆