0

我见过很多表单,比如 Windows 的设置/选项表单,当鼠标悬停在按钮上时,按钮的 FlatStyle 是 System。但是当您单击按钮时,FlatStyle 会更改为 Standard。这可以在 Windows 的 Skype 选项表单的“保存”和“取消”按钮上找到。

顺便说一句,我希望代码用 C# 编写,因为我在我的项目中使用 C#。

我已经尝试了一些事情来实现这一点,但它从来没有奏效。

如果你在 Windows 上但没有 Skype,那么你可以在许多 Windows 的设置表单中找到我所说的内容——比如 Windows 的“播放设备”表单。

您还可以注意到,如果所选选项卡是按钮本身,则按钮不会发生这种情况。

必须编写代码/示例来实现这一点会很棒。

4

2 回答 2

1

您需要为按钮单击和 MouseHover 事件连接一个事件处理程序,如下面的代码。然后使用 FlatStyle 类来改变外观:

  private void button1_MouseHover(object sender, EventArgs e)
        {
            button1.FlatStyle = FlatStyle.System;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            button1.FlatStyle = FlatStyle.Standard;
        }

希望这对你有帮助!如果它确实将其标记为答案。

于 2012-12-28T02:54:26.237 回答
0

你需要的是 MouseEnter 而不是 MouseHover,所以使用这个:

 private void button1_MouseEnter(object sender, EventArgs e)
 {
    button1.FlatStyle = FlatStyle.System;
 }

 private void button1_Down(object sender, EventArgs e)
 {
    button1.FlatStyle = FlatStyle.Standard;
 }

调试:

 int i = 0;
 private void button1_MouseEnter(object sender, EventArgs e)
 {
    button1.FlatStyle = FlatStyle.System;
    i++;
    Console.WriteLine(i.ToString());
 }

 private void button1_Down(object sender, EventArgs e)
 {
    button1.FlatStyle = FlatStyle.Standard;
 }
于 2012-12-28T05:24:21.007 回答