【问题标题】:Create System Tray on ToolStrip in C#在 C# 中的 ToolStrip 上创建系统托盘
【发布时间】:2023-03-09 12:55:01
【问题描述】:

我有自己的 C# ToolStrip 应用程序(任务栏),我想通过 NotifyIcon 在其系统托盘上放置不同的项目。

但问题是我无法成功地在这个ToolStrip 中创建系统托盘。 我可以看到我的 NotifyIcon 直接进入 Windows 任务栏的 System Tray,但我想在我的 ToolStrip 上看到它们。

我在 C# 中找不到(即使使用谷歌搜索)任何像 System Tray 这样的对象...

所以,我的问题是:我们如何创建一个 System Tray 并将其附加到新的 ToolStrip ?如果我错过了一点?

提前感谢所有答案,如果我错过了精确度或者您想要特定代码(我认为在我的情况下没有必要),请询问我。

【问题讨论】:

  • 你的意思是自己创建一个系统托盘(基本上就是一个上面有图标的矩形),然后放在Windows的上面吗?
  • 我创建了自己的任务栏,并且在杀死所有资源管理器进程后使用它,所以我没有 Windows 的任务栏。所以是和不是。我想创建自己的系统托盘,但把它放在我自己的任务栏上。对不起,如果我误解了什么。
  • 你完全搞定了。实际上,我前段时间自己在这些线路上做了一些事情;但我没有从 Windows 中杀死原来的那个,只是把我的放在它上面(你可以杀死所有进程并且计算机运行没有任何问题?)。对于这种情况,我唯一能想到的就是创建您想要的元素(带图标的矩形)并将其定位在您想要的屏幕部分(简单的表单定位);我猜你用自己的任务栏做了什么。除了这些,你还期望做什么? (PS:一直这么低落还是只是为了我?)
  • 以后,该程序将位于注册表项 (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell) 中,因此不会启动 Explorer.exe。这就是为什么在我的例子中我杀死了 Explorer。是的,我认为创建一个矩形是成功的好方法。谢谢,我试试看。 ps : 不只是你,StackOverflow 在大约 10 分钟内无法访问
  • 我认为你错误地理解了“矩形的想法”。我的意思是:为您的表单设置尺寸(逻辑上删除麻烦和顶部按钮)以定位您想要的确切几何形状(即矩形)。您所指的所有对象都不能放在“空中”,而是放在一种形式中。总结:在Form_Load上,做窗体的宽度=屏幕的宽度,高度=任务栏的高度;找到您想要的表单(=在屏幕底部)并将您想要模拟任务栏的所有按钮放入其中(一点也不容易);之后是左侧位(= 系统托盘)。

标签: c# windows taskbar system-tray


【解决方案1】:

答案是:SplitContainer。

有了这个,我可以在我的应用程序中拥有一个任务栏和一个系统托盘。

【讨论】:

    猜你喜欢
    • 2011-01-11
    • 1970-01-01
    • 2011-06-25
    • 2017-05-21
    • 2011-05-06
    • 2017-02-03
    • 1970-01-01
    • 2018-03-07
    • 1970-01-01
    相关资源
    最近更新 更多