问题标签 [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 投票
2 回答
4241 浏览

c# - 获取 WPF ContextMenu 以在 Winforms NotifyIcon 上显示

我正在使用 Winforms NotifyIcon,因为没有 WPF 版本,我也在此处使用 ContextMenu 教程:http: //www.wpftutorial.net/ContextMenu.html

我将在这里使用答案中的鼠标放置代码:http: //social.msdn.microsoft.com/forums/en-US/wpf/thread/8cdd4ef1-d31e-42ef-a30e-7b482c0fa163/

我的主要问题是,方法:

它是如何使用的?谁能告诉我我需要做哪些步骤才能让它出现在我的 NotifyIcon 上

谢谢

0 投票
1 回答
7261 浏览

c# - 如何使 C# 中的通知图标在两个图标之间交替?

我使用带有 C# 和 WinForm 的 VS2010。当满足某个条件时,我希望 C# 中的 notifyicon 在两个图标之间交替。我看到下面的代码是为单个图标创建的,但我看不到如何以编程方式更改它。"((System.Drawing.Icon)(resources.GetObject("notifyIcon.Icon")))" 部分对我来说没有意义。

我试过...

但不会工作。我收到错误“System.Drawing.Icon”是一个“类型”,在给定的上下文中无效”

谢谢您的帮助

0 投票
3 回答
716 浏览

.net - NotifyIcon 在 Me.Hide 上消失?

我目前正在编写一个需要 NotifyIcon 的多表单项目。第一个表单是登录表单,然后打开一个“登录”表单,最后打开另一个表单(它们都是使用 FormName.ShowDialog() 打开的,并且在打开下一个表单之前会隐藏自己)。

登录表单 -> 登录表单 -> 最终表单。

打开最终表单时,NotifyIcon 的可见属性设置为 true,并且它像正常一样出现在任务托盘中。但是当我在最终表单上使用 Me.Hide 时,NotifyIcon 会随着表单消失。

关于发生了什么的任何想法?尽管没有可见的表单(这是它的本意),但程序仍然在后台运行,但是没有 NotifyIcon,就无法使表单再次出现。

编辑 - 如果有帮助,登录表单将在另一个线程中打开,但使用委托。

0 投票
1 回答
4356 浏览

c# - C# 通过单击 NotifyIcon(任务栏图标)切换窗口

我的 C# 应用程序由一个任务栏图标 (NotifyIcon) 和一个最初隐藏的顶部窗口组成。我希望用户能够通过单击 NotifyIcon(左,单击)来切换窗口可见性。失去焦点时,窗口也会被隐藏。

这是我到目前为止所拥有的,一个子类System.Windows.Forms.Form

初始化:

实例方法:

单击该图标会显示应有的窗口。但是,只要按下鼠标,再次单击它就会隐藏它,然后将其重置为可见。

我的猜测是鼠标按下事件会从窗口中窃取焦点,因此它会消失。然后触发鼠标向上事件,显示隐藏的窗口。

我的下一个想法是在鼠标按下事件时读取窗口可见性,因此我测试了三个事件并在它们被调用时记录了 UNIX 时间:

结果很奇怪:假设窗口是可见的。当我单击图标时会发生这种情况:立即调用焦点丢失。只要我释放鼠标,就在鼠标向上事件之前调用鼠标向下。

为什么鼠标按下事件延迟?
如何切换窗口?

0 投票
2 回答
1734 浏览

c# - 通知图标未显示在托盘 C# winforms 中

为什么我启动 Windows 窗体时通知图标没有显示在系统托盘中?
这就是我正在做的事情。
我有一个 Windows 服务,它启动我的托盘应用程序,它是一个 Windows 窗体应用程序(我正在使用模拟在当前用户的上下文中启动该应用程序)。在托盘应用程序中,我正在启动一个包含通知图标的表单。
这里的问题是通知图标有时不会出现在系统托盘中,我无法找出原因。
在表单的 OnLoad 方法中,我将表单的可见属性设置为 false。我也在做一些远程服务调用(比如ipc)。那是问题吗?
如何让我的通知图标始终出现在系统托盘中?
编辑:这是 OnLoad 函数的代码

0 投票
1 回答
1760 浏览

c# - 从资源中更改 notifyIcon1

此代码从外部文件中调用一个图标:

如果可能的话,从资源文件中更改图标?

0 投票
1 回答
1274 浏览

c# - 使用 NotifyIcon 时,WindowsState Minimized 不起作用

我试图在表单关闭时显示 NotifyIcon 。它关闭了,但是当我单击最小化按钮时它也关闭了。这是我的代码。

0 投票
2 回答
6058 浏览

c# - 在单击的通知图标上方放置表单

有没有办法将窗体放置在 windows 7 和 windows Vista 中单击的通知图标上方?

0 投票
2 回答
10201 浏览

winforms - NotifyIcon 使用哪种格式和大小的图标

我找不到有关系统托盘图标的任何信息,它们应该采用什么尺寸才能获得最佳质量。我应该使用不止一种尺寸(16x16,32x32,64x64)吗?

我目前正在使用 16x16 .ICO 图标,它们看起来很乱。

0 投票
1 回答
8466 浏览

c# - 在 NotifyIcon 单击时切换表单可见性并在单击其他位置时将其隐藏

我有一个在系统托盘中的应用程序。我想让它在用户点击时可见notifyIcon,如果它已经不可见的话。如果它已经可见,则应将其隐藏。此外,当用户单击表单以外的任何其他位置时,表单应该隐藏(如果它是可见的)。

我的代码如下所示:

代码的问题是onDeactivated在点击调用之前被调用,它隐藏了表单,notifyIcon1_MouseClicked而不仅仅是重新显示它。如果我可以检测到焦点是否由于单击notifyIcon或其他地方而丢失,它将解决问题。

我已经完成了我的研究并找到了一个类似的线程,但解决方案只是检测到鼠标位置是否在onDeactivated被调用时位于托盘上方:C# toggle window by click NotifyIcon (taskbar icon)

更新:我发布的解决方案仅检测用户的鼠标是否位于任务栏中的托盘图标上,因此如果您单击任何其他托盘,onDeactivated则不会触发该事件。我想获得与系统音量应用程序相同的功能。