C#控件开发-按键美化
Winform控件美化有两种方式:一是继承自现有控件,使用现有控件的属性、方法开发美化。另一种是继承Control类,完全自定义控件开发。
这篇文章以按键美化为例讲继承现有控件开发。
一、鼠标状态
按键有三种鼠标状态:空状态,鼠标放上及鼠标按下。定义枚举类型
/// <summary>
/// 鼠标状态
/// </summary>
public enum MouseActionType
{
None,
Hover,
Click
}
二、按键颜色
对应鼠标的三种状态,定义三种颜色与状态对应
- _baseColor 空状态
- _clickColor 按下
- _enterColor 放上状态
三、自定义ButtonEx类
新建ButtonEx类,继承自Button类,引入System.Windows.Forms命令空间
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public class ButtonEx : Button
{
private MouseActionType mouseAction;
private string _title = "title";
/// <summary>
///
/// </summary>
[Description("获取或设置标题")]
public string Title
{
get {
return _title; }
set
{
_title = value;
}
}
private Color _baseColor = Color.DodgerBlue;
private Color _clickColor = Color.FromArgb(255, 0, 0);
[Description("鼠标按下颜色"