📄 customcontrol1.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
namespace TestCustomControl
{
/// <summary>
/// CustomControl1 的摘要说明。
/// </summary>
public class CustomControl1 : System.Windows.Forms.Control
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
public CustomControl1()
{
// 该调用是 Windows.Forms 窗体设计器所必需的。
InitializeComponent();
// TODO: 在 InitComponent 调用后添加任何初始化
}
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if( components != null )
components.Dispose();
}
base.Dispose( disposing );
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
//
// CustomControl1
//
this.Resize += new System.EventHandler(this.CustomControl1_Resize);
this.Click += new System.EventHandler(this.CustomControl1_Click);
this.TextChanged += new System.EventHandler(this.CustomControl1_TextChanged);
}
#endregion
protected override void OnPaint(PaintEventArgs pe)
{
// TODO: 在此添加自定义绘画代码
Graphics g=pe.Graphics;
g.Clear(this.BackColor);
Rectangle rect=new Rectangle(0,0,this.Width,this.Height);
LinearGradientBrush myBrush = new LinearGradientBrush(rect,Color.White,Color.Red,LinearGradientMode.ForwardDiagonal);
g.FillEllipse(myBrush,rect);
myBrush.Dispose();
StringFormat format=new StringFormat();
format.LineAlignment=StringAlignment.Center;
format.Alignment=StringAlignment.Center;
g.DrawString(this.Text,this.Font,new SolidBrush(this.ForeColor),rect,format);
g.Dispose();
// 调用基类 OnPaint
base.OnPaint(pe);
}
private void CustomControl1_Resize(object sender, System.EventArgs e)
{
Rectangle rect=new Rectangle(0,0,this.Width,this.Height);
OnPaint(new PaintEventArgs(this.CreateGraphics(),rect));
}
private void CustomControl1_TextChanged(object sender, System.EventArgs e)
{
Rectangle rect=new Rectangle(0,0,this.Width,this.Height);
OnPaint(new PaintEventArgs(this.CreateGraphics(),rect));
}
private void CustomControl1_Click(object sender, System.EventArgs e)
{
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -