2009-10-20 41 views
0

我想創建一個自定義版本的TabControl,以便在添加新的TabPage時,我可以確保執行一些自定義處理。覆蓋C#TabControl添加方法

問題是我如何重寫TabPages.Add()方法來實現這一目標?

感謝, 理查德

回答

0

您可以創建從TabControl繼承的自定義版本,並且有一個public new void Add(string)方法。但是如果有人把你的控制權轉移回TabControl,他們會繞過你的邏輯。您可以嘗試創建一個繼承自System.Windows.Forms.Control的自定義控件,並公開所有私有TabControl的方法,根據需要修改Add方法。這會給你更多的控制權。

2

可惜的是,你不能覆蓋TabPageCollection類的Add()方法。你可以嘗試的是訂閱TabControl.ControlAdded事件,希望當TabPage(其實基本上也是Control)被添加時,它會被提升。