终止无窗口Mac应用程序

动态数据库

我正在通过Xamarin创建我的第一个OS X应用程序,并且我有一个无窗口的应用程序,因此它只是菜单栏中的一个图标,带有一个图标和一个关闭该应用程序的菜单。我想通过菜单项使用以下代码关闭应用程序:

public override void DidFinishLaunching (NSNotification notification)
{
    var statusItem = NSStatusBar.SystemStatusBar.CreateStatusItem(30f);
    statusItem.Image = NSImage.ImageNamed("os_logo.png");
    statusItem.HighlightMode = true;
    var menu = new NSMenu ();

    // Closing the app
    var quitItem = new NSMenuItem ("Sluit OPEN.dev", "q", delegate {
        NSApplication.SharedApplication.Terminate(NSApplication.SharedApplication);
    });
    menu.AddItem (quitItem);
    NSApplication.SharedApplication.MainMenu = menu;
    statusItem.Menu = menu;
}

但是该图标不会消失/该应用程序不会关闭。

有人对此有解决方案吗?

寿司宿醉

通过将事件委托添加到“不存在/隐藏” SharedApplication菜单中来隐藏事件委托,然后再将其添加到状态菜单中。

如果仅在状态菜单项上需要它:

public override void DidFinishLaunching (NSNotification notification)
{
    var statusItem = NSStatusBar.SystemStatusBar.CreateStatusItem(30f);
    statusItem.Image = NSImage.ImageNamed("madmen_icon.jpg");
    statusItem.HighlightMode = true;

    var menu = new NSMenu ();

    // Closing the app
    var quitItem = new NSMenuItem ("Sluit OPEN.dev ", "q", (s, e) => NSApplication.SharedApplication.Terminate (menu));
    menu.AddItem (quitItem);

    statusItem.Menu = menu;
}

仅供参考:如果您在应用程序和状态菜单上都需要相同的退出菜单项,请在应用程序菜单中创建一个全新的NSMenuItem及其父项(addItem),因为共享菜单项会导致AppKit崩溃:

由于未捕获的异常“ NSInternalInconsistencyException”而终止应用程序,原因:“要插入菜单的项目已经在另一个菜单中”

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

mac应用程序,在关闭时终止

来自分类Dev

Mac应用程序窗口停止更新

来自分类Dev

macCatalyst应用程序:如何在不终止应用程序的情况下关闭窗口?

来自分类Dev

如何使无框Chrome应用程序窗口可移动?

来自分类Dev

简单的无头窗口应用程序的项目类型

来自分类Dev

如何为Mac OS创建无头的应用程序

来自分类Dev

如何终止应用程序

来自分类Dev

拍摄Mac上特定应用程序窗口的屏幕截图

来自分类Dev

Mac上的Qt / Qml应用程序窗口标题

来自分类Dev

拍摄Mac上特定应用程序窗口的屏幕截图

来自分类Dev

Android无法终止应用程序。应用程序重启

来自分类Dev

Android无法终止应用程序。应用程序重启

来自分类Dev

窗口“捕获”应用程序在意外终止时允许捕获的窗口消失,我该如何防止/解决此问题?

来自分类Dev

您可以阻止Xamarin.Mac上的异常终止该应用程序吗?

来自分类Dev

Python 窗口应用程序

来自分类Dev

iPhone应用程序终止过程

来自分类Dev

从应用程序,iOS SDK终止进程

来自分类Dev

安全终止Spring JMS应用程序

来自分类Dev

glutCloseFunc无需终止应用程序

来自分类Dev

如何正确终止应用程序?

来自分类Dev

云消息传递终止应用程序

来自分类Dev

grails应用程序自动终止

来自分类Dev

Swift:是否终止了NSExeption的应用程序?

来自分类Dev

应用程序失败(使已终止)

来自分类Dev

如果应用程序终止,则呼叫断开

来自分类Dev

通过终止进程查找应用程序

来自分类Dev

使用 firebase 的应用程序/无应用程序错误

来自分类Dev

关闭窗口然后选择另一个应用程序时,Mac应用程序消失

来自分类Dev

当iPad连接到Mac Book Pro时,Safari Web检查器“无检查应用程序”

Related 相关文章

热门标签

归档