c#自定义漂亮按钮

在C#开发过程中,系统提供的按钮风格有时并不能满足我们的要求,如何自己制作一些漂亮的按钮呢?
(1)新建工程
新建工程可以创建Windows窗体应用程序,也可以创建类库,这个看个人需求,如果想我们自定义的控件供各个项目使用,则创建类库,后续项目可以以插件的方式加入我们自定义的控件,本例为了演示方便,创建Windows窗体应用程序,自定义的插件仅供该项目使用。
在这里插入图片描述
(2)添加用户控件
在这里插入图片描述
(3)设置按钮样式
在工具箱->所有Windows窗体找到PictureBox和Label添加,并设置PictureBox属性如图所示:
在这里插入图片描述
label属性设置如图所示:
在这里插入图片描述
(4)编写代码

 public CustomButton()
        {
            InitializeComponent();
            pictureBox1.Controls.Add(buttonText);
        }
        /// <summary>
        /// 鼠标移动到控件上方显示的图片
        /// </summary>
        private Image backImageMove = global::MyFormDemo.Properties.Resources.图片1;
        [Description("鼠标移动到控件上方显示的图片")]
        public Image BackImageMove
        {
            get { return backImageMove; }
            set { backImageMove = value; }
        }
        /// <summary>
        /// 鼠标离开控件显示的图片
        /// </summary>
        private Image backImageLeave = global::MyFormDemo.Properties.Resources.图片2;
        [Description("鼠标离开控件显示的图片")]
        public Image BackImageLeave
        {
            get { return backImageLeave; }
            set
            {
                backImageLeave = value;
                pictureBox1.Image = backImageLeave;
            }
        }
        /// <summary>
        /// 按钮文字显示
        /// </summary>
        private string textEX = "";
        [Description("按钮显示的文字")]
        public string BtnText
        {
            get { return textEX; }
            set
            {
                textEX = value;
                buttonText.Text = textEX;
            }
        }
        private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
        {
            pictureBox1.Image = backColorMove;
        }

        private void pictureBox1_MouseLeave(object sender, EventArgs e)
        {
            pictureBox1.Image = backImageLeave;
        }
        public  void buttonText_Click(object sender, EventArgs e)
        {
            OnClick(e);//这句话很关键!!!
        }

(5)设置鼠标经过和离开事件
分别为pictureBox1和buttonText设置鼠标经过和离开事件
在这里插入图片描述
(6)设置鼠标经过和离开图片
如图所示,可以看到为按钮定义的属性:
在这里插入图片描述
添加BackImageLeave和BackImageMove图片
(7)效果展示
在这里插入图片描述
如图所示,按钮颜色变化其实是通过切换不同的图片完成。
重要:自定义控件重新生成后工具箱不能显示自定义控件参考如下设置
在这里插入图片描述
如果按照上述步骤实自定义控件后现有问题可以参照源码https://download.csdn.net/download/weixin_42266753/11739838
当然也可以参考https://www.cnblogs.com/JiYF/p/8686463.html

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值