问题标签 [notifyicon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
13196 浏览

c# - 气球未显示 NotifyIcon.ShowBalloonTip

我遇到了一些我认为很容易的事情......我无法让我的 NotifyIcon 显示气球提示。基本代码是:

执行此代码时没有任何反应。我读到超时参数可能以秒或毫秒为单位,无法分辨,所以我尝试了两者,但都不起作用。

我正在使用 WinXP、.NET 3.5。

0 投票
3 回答
413 浏览

c# - 通过 3rd 方应用程序修改 NotifyIcon 的行为

我一直很好奇是否可以显示、隐藏或更改另一个应用程序通过 C# 应用程序创建的 NotifyIcon。

有人可以发布一个关于如何做到这一点的例子吗?:)

0 投票
3 回答
9129 浏览

c# - 如何在系统托盘中找到图标的位置

我有一个出现在系统托盘中的 NotifyIcon 控件。如何在屏幕上找到图标的位置 (x, y)?

谢谢

0 投票
4 回答
789 浏览

.net - 如何在系统托盘中显示图标?

我想让我的 .Net 应用程序在系统托盘中显示通知。所以我想为此显示一个图标,谁能告诉我该怎么做?

0 投票
2 回答
18343 浏览

c# - 托盘图标动画

我知道如何在 Windows 通知区域(系统托盘)中放置一个图标。

使图标动画化的最佳方法是什么?您可以使用动画 gif,还是必须依靠计时器?

我正在使用 C# 和 WPF,但也接受了 WinForms。

0 投票
3 回答
6303 浏览

c# - 如何保证 NotifyIcon 消失?

我在我的一个子(模态)表单中使用 NotifyIcon 控件,它工作正常。按预期显示气球提示,处理鼠标事件等......但是,当我期望它消失时,它并没有消失。具体来说,当我退出子表单并且父表单重新控制时,图标仍然存在。它的工具提示是可访问的,因此它非常“活跃”。

然后当我退出整个应用程序时,图像仍然存在,直到我将光标悬停在它上面。一旦鼠标它消失。

我怎样才能让它正常运行?好的通常是一个坏词:-0 当创建它的表单消失时,我怎样才能让它消失?

有人能解释一下是什么原因造成的吗,我认为 .net 应该自行清理?

G

编辑:如果我以关闭的形式调用 Dispose 方法,这是可行的,但我真的必须这样做吗?G

0 投票
1 回答
1541 浏览

c# - NotifyIcon 的问题:“隐藏非活动图标”不起作用

我正在使用 C# (.NET 3.5) 并使用 NotifyIcon 启用“最小化到系统托盘”。一切都很好,除了当您查看开始菜单属性 - >“隐藏非活动图标”时,shell 注册了标题为“无标题”的系统托盘图标。

此外,将系统托盘图标的设置更改为“始终显示”或“始终隐藏”不会在图标被移除并放回系统托盘后立即被记住。

知道如何以可以保留此设置的方式注册系统托盘图标吗?

0 投票
3 回答
3918 浏览

c++ - 关于 NOTIFYICONDATA 的 cbSize 成员的 MSDN 文档

我正在阅读 MSDN 中的 NOTIFYICONDATA 文档。

它说NOTIFYICONDATA结构有一个cbSize成员应该设置为结构的大小,但NOTIFYICONDATA结构的大小在每个Shell32.dll中都有不同的大小,所以你应该在设置cbSize之前获得Shell32.dll版本。

以下引用来自 MSDN:


如果是 5.0 或更高版本,请按如下方式初始化 cbSize 成员。

nid.cbSize = sizeof(NOTIFYICONDATA);

将 cbSize 设置为该值会启用所有 5.0 和 6.0 版本的增强功能。对于早期版本,6.0 之前的结构的大小由 NOTIFYICONDATA_V2_SIZE 常量给出,5.0 之前的结构由 NOTIFYICONDATA_V1_SIZE 常量给出。如下初始化 cbSize 成员。nid.cbSize = NOTIFYICONDATA_V2_SIZE;

将此值用于 cbSize 将允许您的应用程序将 NOTIFYICONDATA 与早期的 Shell32.dll 版本一起使用,尽管没有 6.0 版增强功能。


我发现它有点模糊,因为 'sizeof(NOTIFYICONDATA)' 在 Win98(使用 Shell32.dll 4.x 版)、Win2K(5.0 版)和 WinXP(6.0 版)中具有不同的值。它怎么能“启用所有版本 5.0 和 6.0 的增强功能”?

于是我找了NOTIFYICONDATA_V1_SIZE的定义(源代码如下),我看到了:

NOTIFYICONDATA_V1_SIZE 适用于 Win 2K(不包括 2K)

NOTIFYICONDATA_V2_SIZE 适用于 Win XP

NOTIFYICONDATA_V3_SIZE 适用于 Vista

(不确定我是否正确)

和 MSDN 说的完全不一样?Win2K没有?

所以,我现在完全糊涂了。如何根据 Shell32.dll 版本设置 cbSize 成员?

(好像代码在网站上看起来不太好,但它来自ShellAPI.h,都一样)

0 投票
1 回答
1624 浏览

vb.net - 如何创建只显示 NotifyIcon 的 WinForm 应用程序?

我很确定我以前做过这个,但我不记得我是如何/在哪里找到如何做到这一点的。

我创建了一个新的 WinForm 应用程序,然后将通知图标拖到我的设计器上。我在 Form1.vb 文件中为 NotifyIcon 的行为编写了我想要的功能。

我想我记得一些关于向项目添加模块,并将项目设置为启动上述模块而不是表单......但我无法弄清楚/回忆如何保留我编码到 Form1 中的功能。动词。

0 投票
2 回答
1739 浏览

contextmenu - 如何从 NotifyIcon 上下文菜单中实现模式对话框?

我有一个带有上下文菜单的外壳托盘图标。我遇到的问题是从上下文菜单 Clicked 处理程序调用 ShowDialog() 不会导致模式对话框。

使用默认的 C# 项目很容易重现这一点。只需将以下代码添加到 Form1.cs 文件中:

如果您构建并运行它,您只需选择两次上下文菜单项即可在屏幕上显示两个消息框。这不应该是模态的吗?将其替换为对另一个表单的 ShowDialog() 调用会导致相同的非模态行为。

我最好的猜测是 NotifyIcon 并不像在典型的 Windows 应用程序中那样专门绑定到表单。但我看不出有什么办法。

有任何想法吗?提前感谢您的帮助!