Win7 系统托盘样式弹出窗口

发布于 2024-11-06 04:18:59 字数 150 浏览 0 评论 0原文

大家好 我有一个应用程序将 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

等风也等你 2024-11-13 04:18:59

正如其他人提到的;我不会打扰 .​​Opacity 除非您使用超过 0 和 1 的值。我相信使用 .Show 和 .Hide 会更清晰(并且性能更高,但我推测)。

将窗体置于系统尝试中的 NotifyIcon 之上;您可能只想获取鼠标位置和屏幕尺寸。在 NotifyIcon_Click 事件中,您可以执行以下操作...

Dim xPos As Integer = MousePosition.X

并将表单置于该位置的中心。从技术上讲,它不会在 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...

Dim xPos As Integer = MousePosition.X

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文