ControlPaint 类

定义

提供用于绘制常用 Windows 控件及其元素的方法。 此类不能被继承。

public ref class ControlPaint sealed
public ref class ControlPaint abstract sealed
public sealed class ControlPaint
public static class ControlPaint
type ControlPaint = class
Public NotInheritable Class ControlPaint
Public Class ControlPaint
继承
ControlPaint

示例

下面的代码示例使用构造函数之 ControlPaint 一来绘制平面 Button 控件。

#using <System.dll>
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>

using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;
public ref class Form1: public Form
{
private:
   Button^ button1;
   Button^ button2;

public:
   Form1()
   {
      button1 = gcnew Button;
      button2 = gcnew Button;
      this->button2->Location = Point(0,button1->Height + 10);
      this->Click += gcnew EventHandler( this, &Form1::button2_Click );
      this->Controls->Add( this->button1 );
      this->Controls->Add( this->button2 );
   }


private:

   void button2_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      
      // Draws a flat button on button1.
      ControlPaint::DrawButton( System::Drawing::Graphics::FromHwnd( button1->Handle ), 0, 0, button1->Width, button1->Height, ButtonState::Flat );
   }

};


[STAThread]
void main()
{
   Application::Run( gcnew Form1 );
}
using System;
using System.Drawing;
using System.Windows.Forms;

public class Form1 : Form
{
    private Button _button1 = new Button();
    private Button _button2 = new Button();

    [STAThread]
    static void Main()
    {
        Application.Run(new Form1());
    }

    public Form1()
    {
        _button2.Location = new Point(0, _button1.Height + 10);
        this.Click += Button2_Click;
        this.Controls.Add(_button1);
        this.Controls.Add(_button2);
    }

    private void Button2_Click(object sender, System.EventArgs e)
    {
        // Draws a flat button on button1.
        ControlPaint.DrawButton(
            System.Drawing.Graphics.FromHwnd(_button1.Handle), 0, 0,
            _button1.Width, _button1.Height,
            ButtonState.Flat);
    }

}
Imports System.Drawing
Imports System.Windows.Forms

    Public Class Form1
        Inherits System.Windows.Forms.Form

        Private button1 As System.Windows.Forms.Button = New Button
        Private button2 As System.Windows.Forms.Button = New Button

        <System.STAThreadAttribute()>  _
        Public Shared Sub Main()
            System.Windows.Forms.Application.Run(New Form1)
        End Sub

        Public Sub New()
            Me.button2.Location = New Point(0, button1.Height + 10)
            AddHandler Me.button2.Click, AddressOf Me.button2_Click
            Me.Controls.Add(Me.button1)
            Me.Controls.Add(Me.button2)
        End Sub

        Private Sub button2_Click(sender As Object, e As System.EventArgs)
            ' Draws a flat button on button1.
            ControlPaint.DrawButton(System.Drawing.Graphics.FromHwnd(button1.Handle), 0, 0, button1.Width, button1.Height, ButtonState.Flat)
        End Sub
End Class

注解

类中包含的 ControlPaint 方法使你能够绘制自己的控件或控件的元素。 如果 UserPaint 控件的位设置为 true ,则可以控制自己的控件的绘制。 可以通过调用 GetStyleSetStyle 方法获取或设置样式位。 可以为任何控件设置多个样式位。 枚举 ControlStyles 成员可以与按位运算组合使用。

属性

ContrastControlDark

获取用作 ControlDark 颜色的颜色。

方法

CreateHBitmap16Bit(Bitmap, Color)

创建 16 位颜色位图。

CreateHBitmapColorMask(Bitmap, IntPtr)

在图像外创建 Win32 HBITMAP

CreateHBitmapTransparencyMask(Bitmap)

为指定位图创建颜色掩码,指示哪种颜色应显示为透明。

Dark(Color)

按指定的颜色为控件创建一个新的深颜色对象。

Dark(Color, Single)

根据指定的颜色为控件创建一个新的深颜色对象并按照指定的百分比使其颜色变深。

DarkDark(Color)

按指定的颜色为控件创建一个新的深颜色对象。

DrawBorder(Graphics, Rectangle, Color, ButtonBorderStyle)

在按钮样式控件上指定的边界内、指定的图形表面上绘制具有指定样式和颜色的边框。

DrawBorder(Graphics, Rectangle, Color, Int32, ButtonBorderStyle, Color, Int32, ButtonBorderStyle, Color, Int32, ButtonBorderStyle, Color, Int32, ButtonBorderStyle)

在按钮样式控件上指定的边界内、指定的图形表面上绘制具有指定的样式、颜色和边框宽度的边框。

DrawBorder3D(Graphics, Int32, Int32, Int32, Int32)

在控件上指定的边界内、指定的图形表面上绘制三维样式边框。

DrawBorder3D(Graphics, Int32, Int32, Int32, Int32, Border3DStyle)

在控件上指定的边界内、指定的图形表面上绘制具有指定样式的三维样式边框。

DrawBorder3D(Graphics, Int32, Int32, Int32, Int32, Border3DStyle, Border3DSide)

在控件上指定的边界内、指定的图形表面和边上绘制具有指定样式的三维样式边框。

DrawBorder3D(Graphics, Rectangle)

在控件上指定的边界内、指定的图形表面上绘制三维样式边框。

DrawBorder3D(Graphics, Rectangle, Border3DStyle)

在控件上指定的边界内、指定的图形表面上绘制具有指定样式的三维样式边框。

DrawBorder3D(Graphics, Rectangle, Border3DStyle, Border3DSide)

在控件上指定的边界内、指定的图形表面和边上绘制具有指定样式的三维样式边框。

DrawButton(Graphics, Int32, Int32, Int32, Int32, ButtonState)

在指定的边界内、指定的图形表面上,绘制处于指定状态的按钮控件。

DrawButton(Graphics, Rectangle, ButtonState)

在指定的边界内、指定的图形表面上,绘制处于指定状态的按钮控件。

DrawCaptionButton(Graphics, Int32, Int32, Int32, Int32, CaptionButton, ButtonState)

在指定的边界内、指定的图形表面上,绘制处于指定状态的指定标题按钮控件。

DrawCaptionButton(Graphics, Rectangle, CaptionButton, ButtonState)

在指定的边界内、指定的图形表面上,绘制处于指定状态的指定标题按钮控件。

DrawCheckBox(Graphics, Int32, Int32, Int32, Int32, ButtonState)

在指定边界内、指定的图形表面上,绘制处于指定状态的复选框控件。

DrawCheckBox(Graphics, Rectangle, ButtonState)

在指定边界内、指定的图形表面上,绘制处于指定状态的复选框控件。

DrawComboButton(Graphics, Int32, Int32, Int32, Int32, ButtonState)

在组合框控件上绘制位于指定边界内、在指定的图形表面上、处于指定状态的下拉按钮。

DrawComboButton(Graphics, Rectangle, ButtonState)

在组合框控件上绘制位于指定边界内、在指定的图形表面上、处于指定状态的下拉按钮。

DrawContainerGrabHandle(Graphics, Rectangle)

在指定的边界内、指定的图形表面上绘制容器控件抓取柄标志符号。

DrawFocusRectangle(Graphics, Rectangle)

在指定边界内、指定的图形表面上绘制聚焦框。

DrawFocusRectangle(Graphics, Rectangle, Color, Color)

在指定边界内、指定的图形表面上绘制聚焦框。

DrawGrabHandle(Graphics, Rectangle, Boolean, Boolean)

在指定的边界内、指定的图形表面上,按样式绘制处于指定状态的标准的选择抓取柄标志符号。

DrawGrid(Graphics, Rectangle, Size, Color)

在指定的边界内、指定的图形表面上,按指定颜色绘制由点(大小为一个像素,互相之间具有指定的间距)组成的网格。

DrawImageDisabled(Graphics, Image, Int32, Int32, Color)

绘制处于禁用状态的指定图像。

DrawLockedFrame(Graphics, Rectangle, Boolean)

在屏幕上指定的边界内、指定的图形表面上,绘制锁定的选择框。 指定是否使用主选择方案的颜色来绘制框架。

DrawMenuGlyph(Graphics, Int32, Int32, Int32, Int32, MenuGlyph)

在菜单项控件上指定的边界内、指定的表面上,绘制指定的菜单标志符号。

DrawMenuGlyph(Graphics, Int32, Int32, Int32, Int32, MenuGlyph, Color, Color)

在菜单项控件上指定的图面上,以指定的坐标、高度和宽度绘制指定的菜单标志符号,用 backColor 参数中指定的颜色替换 White,并用 foreColor 参数中指定的颜色替换 Black

DrawMenuGlyph(Graphics, Rectangle, MenuGlyph)

在菜单项控件上指定的边界内、指定的表面上,绘制指定的菜单标志符号。

DrawMenuGlyph(Graphics, Rectangle, MenuGlyph, Color, Color)

在菜单项控件上指定的边界内、指定的图面上绘制指定的菜单标志符号,用 backColor 参数中指定的颜色替换 White,并用 foreColor 参数中指定的颜色替换 Black

DrawMixedCheckBox(Graphics, Int32, Int32, Int32, Int32, ButtonState)

在指定边界内、指定的图形表面上,绘制处于指定状态的三态复选框控件。

DrawMixedCheckBox(Graphics, Rectangle, ButtonState)

在指定边界内、指定的图形表面上,绘制处于指定状态的三态复选框控件。

DrawRadioButton(Graphics, Int32, Int32, Int32, Int32, ButtonState)

在指定边界内、指定的图形表面上,绘制处于指定状态的单选按钮控件。

DrawRadioButton(Graphics, Rectangle, ButtonState)

在指定边界内、指定的图形表面上,绘制处于指定状态的单选按钮控件。

DrawReversibleFrame(Rectangle, Color, FrameStyle)

在屏幕上的指定边界内,按指定背景色绘制处于指定状态的可逆框架。

DrawReversibleLine(Point, Point, Color)

在屏幕上指定的起始点和结束点内绘制具有指定背景色的可逆线。

DrawScrollButton(Graphics, Int32, Int32, Int32, Int32, ScrollButton, ButtonState)

在滚动条控件上绘制位于指定边界内、在指定的图形表面上、处于指定状态的指定滚动按钮。

DrawScrollButton(Graphics, Rectangle, ScrollButton, ButtonState)

在滚动条控件上绘制位于指定边界内、在指定的图形表面上、处于指定状态的指定滚动按钮。

DrawSelectionFrame(Graphics, Boolean, Rectangle, Rectangle, Color)

在指定的图形表面上,按指定的内部与外部尺寸和指定的背景色绘制处于指定状态的标准选择框架。

DrawSizeGrip(Graphics, Color, Int32, Int32, Int32, Int32)

在窗体上绘制位于指定的图形表面上、具有指定边界和背景色的大小手柄。

DrawSizeGrip(Graphics, Color, Rectangle)

在窗体上绘制位于指定的图形表面上、具有指定边界和背景色的大小手柄。

DrawStringDisabled(Graphics, String, Font, Color, RectangleF, StringFormat)

在指定图形表面上的指定边界内,以指定的字体、颜色和格式绘制处于禁用状态的指定字符串。

DrawStringDisabled(IDeviceContext, String, Font, Color, Rectangle, TextFormatFlags)

使用基于 GDI 的专用 TextRenderer,在指定图形表面上的指定边界内,以指定的字体、颜色和格式绘制处于禁用状态的指定字符串。

DrawVisualStyleBorder(Graphics, Rectangle)

按照适合禁用项的样式绘制边框。

FillReversibleRectangle(Rectangle, Color)

在屏幕上绘制实心的可逆矩形。

Light(Color)

根据指定的颜色为控件创建一个新的浅颜色对象。

Light(Color, Single)

按指定颜色为控件创建一个新的浅颜色对象,并按指定的百分比将其变浅。

LightLight(Color)

根据指定的颜色为控件创建一个新的浅颜色对象。

适用于

另请参阅