C# - 悬停按钮删除透明背景

Posted

技术标签:

【中文标题】C# - 悬停按钮删除透明背景【英文标题】:C# - Hovering a button removes transparent background 【发布时间】:2013-03-22 21:09:58 【问题描述】:

我正在开发一个应用程序,它有几个透明背景的按钮。其中之一是自定义退出按钮,而不是使用标准的窗口边框。此退出按钮有两种颜色,另一种使用 MouseEnter 事件显示。退出按钮是一个带有透明背景的十字形。

透明背景可以正常工作,直到您悬停按钮。然后背景颜色似乎以某种方式变为控制并且透明度丢失。一旦将光标从按钮上移开,它就会恢复正常。这里奇怪的是,具有完全相同代码的完全相同的按钮可以在其他几个窗口上工作,除了这个是主窗体。

我尝试删除所有鼠标事件和单击事件,并且只有一个具有透明背景的按钮。现在,即使没有任何 MouseEnter 事件,也没有更改按钮背景图像,一旦悬停按钮,透明度就会丢失。所以基本上这是一个没有任何功能的静态按钮,一旦你通过改变背景颜色悬停它,它仍然会做出反应,为什么?

我对以前遇到过这个问题有一个模糊的记忆,但我似乎无法弄清楚我做了什么来解决它。

提前致谢, 弗雷德里克

【问题讨论】:

这是 windows 窗体还是 wpf? 【参考方案1】:

我现在找到了问题所在。如果其他人遇到此问题,请确保在 FlatAppearance 部分中将 MouseDownBackColor 和 MouseOverBackColor 设置为透明。成功了。

【讨论】:

以上是关于C# - 悬停按钮删除透明背景的主要内容,如果未能解决你的问题,请参考以下文章

如何在不影响内容不透明度(悬停时)的情况下为背景不透明度设置动画?

jquery悬停列表背景

具有透明背景的 JavaFX 按钮

同时悬停时半透明背景和缩放[重复]

悬停时不透明度发生变化时 Google Chrome 中的背景偏移

在角度和 scss 中悬停时更改背景图像不透明度