C#Autohide表格

时间:2010-01-29 15:19:00

标签: c# winforms

我有一个winforms应用程序“停靠”到任务栏 我想自动隐藏表单,只有当鼠标靠近表单

时才显示

有什么建议吗?

3 个答案:

答案 0 :(得分:0)

我不确定它是否正在回答您的问题,但在Codeplex上有一个这样的示例...

http://remoteaccessmonitor.codeplex.com/

浏览源代码并查看MinimizeToTray.cs文件 - 它隐藏了弹出消息的示例,我认为它的默认行为是在点击时重新出现(尽管我想这可以改变)。

答案 1 :(得分:0)

你可以。

  • 轮询鼠标坐标,直到它在您应用的某个半径范围内。
  • 在停靠的应用上方放置一个不可见的,始终在线的表单,然后激活一个MouseEnter事件。

这就是我能想到的全部。任

答案 2 :(得分:0)

在鼠标移动事件上安装一个全局挂钩,并检查它是否在表单边界内。即使表格隐藏也应该工作。如果不只是将位置存储为矩形并检查它。

可以在以下位置找到简单而方便的全局钩子实现的代码:

http://www.codeproject.com/KB/cs/globalhook.aspx

我已经使用此方法为用户桌面创建“热点”功能。