Show / Hide Table of Contents

Практическое руководство. Наследование существующих элементов управления Windows Forms

Чтобы расширить функциональные возможности существующего элемента управления, можно создать элемент управления, производный от существующего элемента управления, путем наследования. При наследовании из существующего элемента управления наследуются все его функциональные возможности и визуальные свойства. Например, если вы создаете элемент управления, который наследуется от Button, новый элемент управления будет выглядеть и act, так же, как стандартный Button элемента управления. После этого вы сможете расширить или изменить функциональность нового элемента управления, реализовав пользовательские методы и свойства. В некоторых элементах управления, можно также изменить внешний вид наследуемого элемента управления путем переопределения его OnPaint метод.

Note

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих параметров или выпуска. Чтобы изменить параметры, выберите в меню Сервис пункт Импорт и экспорт параметров . Дополнительные сведения см. в разделе Персонализация интегрированной среды разработки Visual Studio.

Создание наследуемого элемента управления

  1. Создайте проект приложения Windows Forms.

  2. В меню Проект выберите команду Добавить новый элемент.

    Откроется диалоговое окно Добавление нового элемента.

  3. В диалоговом окне Добавление нового элемента дважды щелкните пункт Пользовательский элемент управления.

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

  4. Если используется Visual Basic, в верхней части окна Обозреватель решений щелкните параметр Показать все файлы. Разверните папку CustomControl1.vb и откройте файл CustomControl1.Designer.vb в редакторе кода.

  5. Если используется C#, откройте в редакторе кода файл CustomControl1.cs.

  6. Найдите объявление класса, который наследуется от Control.

  7. Измените базовый класс для элемента управления, который нужно использовать для наследования.

    Например, если вы хотите наследовать Button, измените объявление класса следующим:

    Partial Class CustomControl1  
        Inherits System.Windows.Forms.Button  
    
    public partial class CustomControl1 : System.Windows.Forms.Button  
    
  8. Если используется Visual Basic, сохраните и закройте файл CustomControl1.Designer.vb. Откройте файл CustomControl1.vb в редакторе кода.

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

  10. Если вы хотите изменить графический интерфейс элемента управления, переопределите OnPaint метод.

    Note

    Переопределение OnPaint не позволит изменять внешний вид всех элементов управления. Элементы управления, оформленные средствами Windows (например, TextBox) никогда не вызывать их OnPaint метод и потому не использовать пользовательский код. См. в справочной документации для определенного элемента управления, нужно ли изменить OnPaint метод доступен. Список всех элементов управления Windows Forms см. в разделе Элементы управления для использования в формах Windows Forms. Если элемент управления не имеет OnPaint методов элемента в списке, вы не сможете изменить его внешний вид путем переопределения этого метода. Дополнительные сведения о пользовательском оформлении см. в разделе Рисование и отрисовка пользовательского элемента управления.

    Protected Overrides Sub OnPaint(ByVal e As _  
       System.Windows.Forms.PaintEventArgs)  
       MyBase.OnPaint(e)  
       ' Insert code to do custom painting.   
       ' If you want to completely change the appearance of your control,  
       ' do not call MyBase.OnPaint(e).  
    End Sub  
    
    protected override void OnPaint(PaintEventArgs pe)  
    {  
       base.OnPaint(pe);  
       // Insert code to do custom painting.  
       // If you want to completely change the appearance of your control,  
       // do not call base.OnPaint(pe).  
    }  
    
  11. Сохраните и проверьте элемент управления.

См. также

  • Создание собственных элементов управления
  • Практическое руководство. Наследование класса Control
  • Практическое руководство. Наследование класса UserControl
  • Практическое руководство. Создание элементов управления для форм Windows Forms
  • Устранение неполадок, связанных с унаследованными обработчиками событий, в Visual Basic
  • Пошаговое руководство. Наследование элементов управления Windows Forms с помощью Visual Basic
  • Пошаговое руководство. Наследование элементов управления Windows Forms с помощью Visual C#
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX