Win7 系统托盘样式弹出窗口
大家好 我有一个应用程序将 Form1_load 的不透明度设置为 0,然后当用户左键单击 NotifyIcon 时,该应用程序的不透明度更改为 1。我还希望窗体能够直接位于通知图标上方,例如 Win7 扬声器、电源等弹出窗口。
最好的方法是什么?
谢谢
Hello guys
I have an applcation that sets itself to 0 opacity on Form1_load which then changes to 1 when the user left clicks on the NotifyIcon. I would also like the form to center itself directy above the notifyicon like the Win7 speakers, power, ect popups.
What's the best way to do this?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
正如其他人提到的;我不会打扰 .Opacity 除非您使用超过 0 和 1 的值。我相信使用 .Show 和 .Hide 会更清晰(并且性能更高,但我推测)。
将窗体置于系统尝试中的 NotifyIcon 之上;您可能只想获取鼠标位置和屏幕尺寸。在 NotifyIcon_Click 事件中,您可以执行以下操作...
并将表单置于该位置的中心。从技术上讲,它不会在 NotifyIcon 上完美居中 - 如果您单击左边缘,它将在左边缘上居中。您可以在 PrimaryScreen 上使用 .GetWorkingArea 来获取高度并适当定位 Y 值。
As others have mentioned; I wouldn't bother with .Opacity unless you are using values beyond 0 and 1. I believe it will be more clear (and more performant, but I'm speculating) to use .Show and .Hide.
To center a form above the NotifyIcon in the System Try; you might want to just grabbing the mouse position and the screen size. Inside the NotifyIcon_Click event you could do...
And center your form over that position. It won't technically be perfectly centered over the NotifyIcon - if you click on the left edge, it would be centered over the left edge. You can use .GetWorkingArea on the PrimaryScreen to get the height and position the Y value appropriately.