【问题标题】:How to hide a panel when mouse leave/mouse hover鼠标离开/鼠标悬停时如何隐藏面板
【发布时间】:2019-02-16 11:41:29
【问题描述】:

我在一个面板中有多个按钮。我想在鼠标离开面板或按钮时隐藏面板。

问题是,当我的光标悬停在一个按钮上并再次悬停在另一个按钮上时,持有该按钮的面板将隐藏,因为我在按钮和面板上的每个 mouse_Leave 事件上都有panel.hide() 代码。我想在光标离开面板或按钮时隐藏它。

【问题讨论】:

  • 你的问题,或者至少你在做什么,在英语中被称为 OxyMoron。当Mouse 离开Panel 或在Panel 上留下Button 时,您希望面板Hide。然后,当您离开 Button 时,您似乎不高兴 Panel 隐藏,但这就是您告诉它要做的事情。多想想你真正想要的是什么。
  • 想一想如果鼠标光标离开光标悬停的当前按钮会发生什么
  • 您提到了“mouse_Leave”事件 - Windows Forms 和 WPF 提供的事件被命名为“MouseLeave” - 您是否创建了自己的事件?

标签: vb.net button mouseevent panel mouseleave


【解决方案1】:

听起来你基本上希望面板一直隐藏,除非光标在它上面,当光标不在时面板再次隐藏?

您可以尝试在默认情况下保持面板隐藏,这样它总是这样,除非鼠标进入它,然后它才会显示。这样,当鼠标再次离开面板时,它会自动隐藏。

【讨论】:

  • 但是当我将鼠标悬停在按钮上时,面板将再次隐藏
  • @GPlay 您必须删除每个鼠标按钮中当前的.hide 调用。只要您将面板设置为仅在鼠标悬停时显示,面板中的所有控件也将保持可见,因为面板控件是容器控件。
  • 看看这个:stackoverflow.com/questions/8159534/… 然后你可以做类似(伪代码)if mouse is over panel1 then show panel1, else hide panel1
  • 当光标悬停在面板内的按钮上时会触发面板的鼠标离开事件
  • 我真的很想帮忙并给出代码建议,但我感到很困惑!
猜你喜欢
  • 2014-01-10
  • 1970-01-01
  • 2011-05-14
  • 2019-09-10
  • 1970-01-01
  • 2016-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多