Я работаю над классом, который является производным от класса UserControl
. Этот класс добавляет атрибуты [Browsable(false)]
и [EditorBrowsable(EditorBrowsableState.Never)]
к событию TextChanged
, которое унаследовано от класса Control
.Добавить атрибут базового события
Мое новое управление сопоставимо с TabPage
; он используется внутри другого класса, что сопоставимо с TabControl
. Причина, по которой это важно, состоит в том, что это означает, что мне нужно, чтобы пользователь элемента управления мог получить доступ к этому событию. В .NET отражателем, мы видим, что TabPage
контроль (который наследует от Panel
, который также добавляет эти два атрибута) «перекрывает» эти два атрибута с помощью следующего кода:
[Browsable(true), EditorBrowsable(EditorBrowsableState.Always)]
public event EventHandler TextChanged;
я скопировал это в мой проект, и насколько я могу сказать, что он работает правильно, но компилятор дает мне предупреждение: «« System.Windows.Forms.Frameset.FunctionPanel.TextChanged »скрывает унаследованный элемент« System.Windows.Forms.UserControl.TextChanged ». если укрытие было предназначено ». Я не хочу скрывать старое событие TextChanged; Я просто хочу удалить атрибут Browsable(false)
. Хотя скрытие старого события, похоже, делает работу на поверхности, это кажется уродливым и обходным способом сделать это. Есть ли способ сделать это, не скрывая старого события? А если нет, есть ли способ заставить компилятор прекратить давать мне предупреждение за это?
Спасибо заранее, Brandon
Спасибо! Это именно то, что я ищу! – aboveyou00