我想創建一個自定義版本的TabControl,以便在添加新的TabPage時,我可以確保執行一些自定義處理。覆蓋C#TabControl添加方法
問題是我如何重寫TabPages.Add()方法來實現這一目標?
感謝, 理查德
我想創建一個自定義版本的TabControl,以便在添加新的TabPage時,我可以確保執行一些自定義處理。覆蓋C#TabControl添加方法
問題是我如何重寫TabPages.Add()方法來實現這一目標?
感謝, 理查德
您可以創建從TabControl繼承的自定義版本,並且有一個public new void Add(string)
方法。但是如果有人把你的控制權轉移回TabControl,他們會繞過你的邏輯。您可以嘗試創建一個繼承自System.Windows.Forms.Control的自定義控件,並公開所有私有TabControl的方法,根據需要修改Add方法。這會給你更多的控制權。
可惜的是,你不能覆蓋TabPageCollection
類的Add()
方法。你可以嘗試的是訂閱TabControl.ControlAdded
事件,希望當TabPage
(其實基本上也是Control
)被添加時,它會被提升。