C# Winform自定义控件改变背景颜色问题(MouseEnter Leave事件)

严。。。 2018-02-10 05:00:44
如题,打算用自定义控件优化一下界面,使用了MouseEnter Leave事件,代码如下
private void Button_Pic_MouseEnter(object sender, EventArgs e)
{
this.BackColor = Color.White;
}

private void Button_Pic_MouseLeave(object sender, EventArgs e)
{
this.BackColor = Color.Transparent;
}

问题是,鼠标慢速移动没问题,当鼠标进出控件过快时,背景颜色改变不了,看了下VS软件的按钮,没这个问题,IE11右上角的关闭按钮就存在这种问题,麻烦高手指点下,谢谢!
(试着用timer做,判断鼠标位置是否在自定义控件里,但是感觉控件多了之后,会浪费效率。)
...全文
1683 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
自定义控件时,不要写在private void Button_Pic_MouseEnter(object sender, EventArgs e) 这样反应会很慢 用onMouseHover事件,反应会快一些
公西雒 2018-02-13
  • 打赏
  • 举报
回复
只是改变按钮的背景色吗?

设置下上图那些属性就可以实现了
1.FlatStyle设置为Flat,扁平化?
2.BackColor 默认按钮背景色
3.FlatAppearance.BorderColor 清空,去掉边框颜色
4.FlatAppearance.BorderSize 设为0,去掉边框
5.FlatAppearance.MouseDownBackColor 鼠标点击的颜色
6.FlatAppearance.MouseOverBackColor 鼠标经过的颜色

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧