【问题标题】:Set C# Button Style to another Button when hovered / clicked / unhovered悬停/单击/未悬停时将 C# 按钮样式设置为另一个按钮
【发布时间】:2011-04-29 21:14:48
【问题描述】:

如何让两个按钮在鼠标悬停时显示相同?

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

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

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

我正在使用 Windows 窗体。

【问题讨论】:

  • 您使用的是 Windows 窗体还是 WPF/Silverlight?
  • Windows Form 就是上图所见的技术。
  • 坦率地说,这张照片根本没有传达所使用的技术。

标签: c# winforms button


【解决方案1】:

这可以在鼠标悬停/移出时使用事件处理程序来完成,但坦率地说,正确的选择是制作一个包含两个按钮的用户控件并使用它而不是两个按钮...

【讨论】:

    【解决方案2】:

    只需在您的“登录”按钮上添加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
    

    您可以将这 2 个处理程序重构为一个,并在执行过程中简单地传递颜色、字体和其他样式……但无论如何这应该足够了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-11
      • 1970-01-01
      • 2013-06-10
      • 2012-04-21
      • 1970-01-01
      • 2013-10-24
      • 2021-07-29
      相关资源
      最近更新 更多