最近在做一个项目关于C#按键的自定义,公司的要求是:自定义button颜色形状等要素,然后还要包括一些其他信息
button是自定义的,先重写父类方法onpainted绘制button形状
然后用propertygrid控件编辑属性,
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
base.OnPaint(e);
System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();
path.AddEllipse(0, 0, this.Width, this.Height);
this.Region = new Region(path);
}
protected override void OnMouseEnter(EventArgs e)
{
Graphics g = this.CreateGraphics();
g.DrawEllipse(new Pen(Color.Black), 0, 0, this.Width, this.Height);
g.Dispose();
}
然后弹出窗体,可以自定义button属性(双击参考的msdn双击事件)))
链接:https://msdn.microsoft.com/zh-cn/library/ms171543(v=vs.110).aspx