gpt4 book ai didi

c# - 在 MonoMac 中以编程方式创建 NSMenuItems

转载 作者:太空狗 更新时间:2023-10-29 21:41:13 24 4
gpt4 key购买 nike

我正在尝试以编程方式向我的 MonoMac 应用程序添加菜单。我打开了 MainMenu.xib 并从 MainMenu 控件中删除了所有 NSMenuItem

我将以下代码添加到我的 FinishedLaunching 覆盖中:

var fileMenuItem = new NSMenuItem("File");
var fileMenu = new NSMenu();

var fileNew = new NSMenuItem("New");
var fileOpen = new NSMenuItem("Open");
var fileSave = new NSMenuItem("Save");

fileMenu.AddItem(fileNew);
fileMenu.AddItem(fileOpen);
fileMenu.AddItem(fileSave);

fileMenuItem.Menu = fileMenu;

NSApplication.SharedApplication.MainMenu.AddItem(fileMenuItem);

但它什么也没做。

当我将代码添加到 MainWindowController.Initialize() 时,我得到一个断言失败“要插入菜单的项目已经在另一个菜单中”

我正在移植在此 SO 答案中找到的代码:Creating NSMenu with NSMenuItems in it, programmatically?

最佳答案

原来我必须做以下事情:

fileMenuItem.Submenu = fileMenu;

NSMenuItem 的 Submenu 属性应该设置为实际菜单而不是 Menu 属性。

关于c# - 在 MonoMac 中以编程方式创建 NSMenuItems,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7922911/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com