漂亮的C#位图按钮设计

在C#程序设计中,提供了最基本的窗体设计,如果运用到商业化的产品中,显得呆板无趣,也没有个性,如果要设计商业化的产品,让自己的产品有特点,让自己的软件有个性,按钮是需要人性化的操作,好的界面离不开定制化的位图按钮。

在C#中增加一个类ExButton,这个类的基类为Button,按钮通常有四种状态:正常、禁止、获得焦点、按钮,这四种状态的确立需要与鼠标的动作结合起来。在该类中,需要重载OnMouseEnter()、OnMouseLeave()、OnMouseDown()、OnMouseUp(),利用重载的鼠标事件确定按钮的各种状态。

protectedoverridevoid OnMouseEnter(EventArgs e)

   {

        this.SetStatus(ButtonStatus.Hover);

         base.OnMouseEnter(e);

    }

 

  protectedoverridevoid OnMouseLeave(EventArgs e)

     {

        this.SetStatus(ButtonStatus.Normal);

         base.OnMouseLeave(e);

     }

 

    protectedoverridevoid OnMouseDown(MouseEventArgs mevent)

     {

        if (mevent.Button == System.Windows.Forms.MouseButtons.Left)

         {

            this.SetStatus(ButtonStatus.Press);

         }

 

        base.OnMouseDown(mevent);

    }

 

   protectedoverridevoid OnMouseUp(MouseEventArgs mevent)

    {

        if (mevent.Button == System.Windows.Forms.MouseButtons.Left)

        {

            this.SetStatus(ButtonStatus.Normal);

         }

        base.OnMouseUp(mevent);

 }

最后重载一下OnPaint()函数,按照按钮的各种状态绘制不同的按钮图像,当然,这里是发挥的天堂,本文的绘制方法仅供参考。

参考源码:https://download.csdn.net/download/mr_liyonghong/10310949

猜你喜欢

转载自blog.csdn.net/mr_liyonghong/article/details/79716646