我想做一个类似飞信按钮,当鼠标放在按钮上的时候按钮的颜色会变化,这个怎么实现呢?

解决方案 »

  1.   

    挂MouseEnter(MouseHover)事件和MouseLeave。
      

  2.   

    试试这个可以嘛!
    -------------    public void SetBtnStyle(Button btn)
        {
            btn.BackColor = Color.FromArgb(201, 217, 239);
            btn.MouseMove += new MouseEventHandler(btn_MouseMove);
            btn.MouseHover += new EventHandler(btn_MouseHover);
        }    private void btn_MouseMove(object sender, MouseEventArgs e)
        {
            Button btn = sender as Button;
            //btn.BackgroundImage = global::ELab.Properties.Resources.B_click1;    }    private void btn_MouseHover(object sender, EventArgs e)
        {
            Button btn = new Button();
            btn.BackgroundImage = null;
            btn.BackColor = Color.FromArgb(201, 217, 239);
        }
      

  3.   

    发现现在WPF实现这个很容易;
    不过利用里面的思路,其实就是利用MouseEnter(MouseHover)事件和MouseLeave事件来实现的;
      

  4.   

    新建一个项目,在form1窗体是拖一个按钮button1;
    在按钮button1的button1_MouseEnter事件里写如下代码:
            private void button1_MouseEnter(object sender, EventArgs e)
            {
                this.button1.BackColor = Color.Red;
            }
    在按钮button1的button1_MouseLeave事件里写如下代码:
            private void button1_MouseLeave(object sender, EventArgs e)
            {
                this.button1.BackColor = this.BackColor;
            }
      

  5.   

    看我博客上有个ImageButton,原理类似。