Show / Hide Table of Contents

Практическое руководство. Отображение элементов с использованием визуальных стилей

System.Windows.Forms.VisualStyles Пространство имен предоставляет VisualStyleElement элементы пользовательского интерфейса, поддерживаемого стилями оформления интерфейса объекты, представляющие пользователя Windows. В этом разделе демонстрируется использование VisualStyleRenderer класс для подготовки к просмотру VisualStyleElement , представляющий Выход и завершение работы кнопок, меню «Пуск».

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

  1. Создание VisualStyleRenderer и присвойте ему значение для рисования элемента. Обратите внимание на использование Application.RenderWithVisualStyles свойство и VisualStyleRenderer.IsElementDefined метод; VisualStyleRenderer конструктор выдаст исключение, если стили оформления отключены или элемент не определен.

    private VisualStyleRenderer renderer = null;
    private readonly VisualStyleElement element =
        VisualStyleElement.StartPanel.LogOffButtons.Normal;
    
    public CustomControl()
    {
        this.Location = new Point(50, 50);
        this.Size = new Size(200, 200);
        this.BackColor = SystemColors.ActiveBorder;
    
        if (Application.RenderWithVisualStyles &&
            VisualStyleRenderer.IsElementDefined(element))
        {
            renderer = new VisualStyleRenderer(element);
        }
    }
    
  2. Вызовите DrawBackground способ визуализации элемента, который VisualStyleRenderer в данный момент представляет.

    protected override void OnPaint(PaintEventArgs e)
    {
        // Draw the element if the renderer has been set.
        if (renderer != null)
        {
            renderer.DrawBackground(e.Graphics, this.ClientRectangle);
        }
    
        // Visual styles are disabled or the element is undefined, 
        // so just draw a message.
        else
        {
            this.Text = "Visual styles are disabled.";
            TextRenderer.DrawText(e.Graphics, this.Text, this.Font,
                new Point(0, 0), this.ForeColor);
        }
    }
    

Компиляция кода

Для этого примера требуются:

  • Пользовательские элементы управления, производные от Control класса.

  • Объект Form , на котором размещается пользовательский элемент управления.

  • Ссылки на System, System.Drawing, System.Windows.Forms, и System.Windows.Forms.VisualStyles пространства имен.

См. также

  • Отрисовка элементов управления с применением визуальных стилей
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX