覆盖C#TabControl添加方法

时间:2009-10-20 15:37:45

标签: c# tabcontrol

我想创建一个TabControl的自定义版本,这样当添加新的TabPage时,我可以确保执行一些自定义处理。

问题是我如何覆盖TabPages.Add()方法来实现这个目标?

感谢, 理查德

2 个答案:

答案 0 :(得分:2)

不幸的是,您无法覆盖Add()类的TabPageCollection方法。您可以尝试订阅TabControl.ControlAdded事件,希望在添加TabPage(基本上也是Control)时将其引发。

答案 1 :(得分:0)

您可以创建继承自TabControl的自定义版本,并且具有public new void Add(string)方法。但是如果有人将你的控制权交还给TabControl,它们就会绕过你的逻辑。您可以尝试创建一个继承自System.Windows.Forms.Control的自定义控件,并公开私有TabControl的所有方法,根据需要修改Add方法。这会给你更多的控制权。