在悬停/单击/取消悬停时将C#按钮样式设置为另一个按钮

时间:2011-04-29 21:14:49

标签: c# winforms button

当一个按钮悬停在上面时,如何使两个按钮看起来相同?

我想要显示的按钮的图片在这里:

http://i.stack.imgur.com/b4P6B.png

enter image description here

Sign On悬停/点击时,如何使中间绿色图像的按钮显示为相同的样式(颜色,边框等)?

我正在使用Windows窗体。

2 个答案:

答案 0 :(得分:1)

这可以使用鼠标上/下的事件处理程序来完成,但坦率地说,正确的选择是创建一个包含两个按钮的用户控件并使用它而不是两个...

答案 1 :(得分:0)

只需在“登录”按钮上添加MouseEnter事件的处理程序 - 然后在这个处理程序中你需要做的就是改变第二个按钮的样式(实现MouseLeave也可能有用)将第二个按钮恢复为原始样式。)

代码示例:

this.ButtonSignOn.MouseEnter += this.ChangeOtherButton;
this.ButtonSingOn.MouseLeave += this.RevertOtherButtonChanges;

// later on
private void ChangeOtherButton(object sender, EventArgs e)
{
    this.OtherButton.ForeColor = Colors.Red;
    this.OtherButton.BackColor = Color.Blue;
    // more styling ...
}

// mostly same stuff when reverting changes

你可以将这两个处理程序重构为一个,并简单地传递颜色,字体和其他样式......但是这应该足够了。