2009-10-20 3 views
0

Я хотел бы создать пользовательскую версию TabControl, чтобы при добавлении новой вкладки TabPage я могу обеспечить выполнение некоторой пользовательской обработки.override C# TabControl add метод

Вопрос в том, как переопределить метод TabPages.Add() для достижения этого?

спасибо, Richard

ответ

0

Вы можете создать пользовательскую версию, которая наследуется от TabControl, и имеет метод public new void Add(string). Но если кто-то отбросит ваш контроль обратно в TabControl, они будут обойти вашу логику. Вы можете попробовать создать настраиваемый элемент управления, который наследует от System.Windows.Forms.Control и выставляет все методы частного TabControl, модифицируя метод Add при необходимости. Это даст вам гораздо больше контроля.

2

Unfortunatelly, вы не можете переопределить Add() метод TabPageCollection класса. Вы можете попробовать подписаться на событие TabControl.ControlAdded в надежде, что он будет поднят, когда будет добавлен TabPage (который по существу равен Control).

Смежные вопросы