Подкласс встроенного WinForms управления? - PullRequest
1 голос
/ 31 января 2009

Я сталкивался с функцией в Visual Studio для автоматической генерации подкласса пользовательского элемента управления с помощью Add New Inherited User Control.

Но я не нашел четкого описания, например, как создать, например, подкласс Button. Помимо реального способа сделать это, мне также интересно, если VS предоставляет полезную генерацию кода для этого?

1 Ответ

3 голосов
/ 31 января 2009

Вы просто создаете свой собственный класс, который наследует элемент управления, который вы хотели бы создать в подклассе. Например:

class BetterButton : Button { ...}

Это легкая часть. Теперь у вас есть возможность переопределять различные методы или свойства, в зависимости от того, чего вы хотите достичь с помощью вашего нового элемента управления. Это может быть что угодно, правда. Одна вещь, которую я часто использую, это переопределение OnPaint, чтобы получить элемент управления, нарисованный пользовательским способом; и все еще получая поведение исходного элемента управления.

В терминах UserControls я часто вижу, что «родительский» UserControl содержит некоторую логику пользовательского интерфейса и базовые элементы пользовательского интерфейса, в то время как подклассы управления являются уточнениями родительского элемента для конкретного использования.

...