joc*_*ull 15 c# macos mono background system-tray
我希望将我的一个C#应用程序移到Mono上,以便在Mac上使用.目前,我正在试图弄清楚如何使它成为一种"背景"过程,但仍然具有GUI元素的能力(我相信这个规则mono-service).
最终目标是:
简而言之,只需考虑Dropbox应用程序的工作原理.我想要那种类型的GUI,但使用Mono/Mac应用程序.
我相信这通常是通过LSUIElement = 1在应用程序包的Info.plist中设置来完成的.但是,我没有运气.我认为它可能与mono从应用程序包中启动我的应用程序的命令有关.一旦应用程序启动,mono我假设它不会级联到进一步的应用程序启动.不过,这是一个纯粹的猜测.
有没有人对此有任何想法?谢谢.
我有你的答案:
首先,添加状态栏图标(Win Forms中的Notify Icon替代):
NSStatusItem sItem = NSStatusBar.SystemStatusBar.CreateStatusItem(30);
sItem.Menu = notifyMenu;
sItem.Image = NSImage.FromStream(System.IO.File.OpenRead(NSBundle.MainBundle.ResourcePath + @"/notify-icon.icns"));
sItem.HighlightMode = true;
Run Code Online (Sandbox Code Playgroud)
notifyMenu是您的NSMenu实例,作为通知图标的上下文菜单条的一种方式.
并将使用Icon Composer制作的ICNS文件放在项目文件中,并将其标记为内容.(右击 - >构建动作 - >内容)
现在是时候删除停靠图标:
在您的info.plist文件中.创建一个新的布尔类型项并将其命名为" LSUIElement "并将值设置为YES.
希望能帮助到你.此致,Peyman Mortazavi
| 归档时间: |
|
| 查看次数: |
5043 次 |
| 最近记录: |