鼠标悬停和mousedown事件上的按钮背景图像更改

时间:2011-02-24 15:13:20

标签: c# winforms

我正在创建一个Windows窗体应用程序,我希望button5的背景图像能够在mouseover和mousedown事件上进行更改。资源中的图像是“1.jpg”和“2.jpg”。 当我将光标放在按钮上时,我想要“2.jpg”作为背景图像,否则需要“1.jpg” 我没有得到任何错误。我使用这段代码:

public Form1()
    {
        InitializeComponent();
        button5.MouseEnter += new EventHandler(button5_MouseEnter);
        button5.MouseLeave += new EventHandler(button5_MouseLeave);
    }


    void button5_MouseLeave(object sender, EventArgs e)
    {
        this.button5.BackgroundImage = ((System.Drawing.Image)(Properties.Resources._1));
    }


    void button5_MouseEnter(object sender, EventArgs e)
    {
        this.button5.BackgroundImage = ((System.Drawing.Image)(Properties.Resources._2));
    }

似乎有什么问题?我应该用别的东西来做这件事吗? 我还想知道如何完全删除按钮的边框。

非常感谢!
维拉德

1 个答案:

答案 0 :(得分:1)

您的代码应该是这样的(只需确保您的事件添加到设计器的分部类中,而不是在构造函数中)。如果控件没有刷新,表单或控件可能很忙,所以您可以尝试使用Refresh()方法刷新按钮。

要删除按钮的边框,请将控件的FlatStyle设置为Flat,将FlatAppearance.BorderSize设置为0.