gpt4 book ai didi

.net - 我可以在 .NET Windows 窗体中创建多列上下文菜单吗?

转载 作者:行者123 更新时间:2023-12-04 19:16:34 25 4
gpt4 key购买 nike

我想创建一个包含多列的上下文菜单。基本上它会是这样的:

First item  | [common option] | All Options >
Second item | [common option] | All Options >
Third item | [common option] | All Options >
Fourth item | [common option] | All Options >

所以基本上有一堆项目(在运行时生成),每个项目都可以单独启动;或使用常用选项;或者您可以获得包含所有可能选项的子菜单。

我怎样才能做到这一点?我试图同时滥用 ContextMenuStripContextMenu ,但他们似乎没有任何这样的选择。我仍然记得在某处看到过多列菜单......

我更喜欢 Windows 窗体解决方案,因为我没有任何 WPF 经验。哦,当单击通知区域(又名系统托盘)中的图标时,将打开此上下文菜单。

最佳答案

我不知道ContextMenuStrip ,这是一个完全用 .NET 代码构建的菜单,但您绝对可以使用 ContextMenu 来做到这一点。 ,它是 native 系统菜单的包装器。

关键是设置MFT_MENUBREAKMFT_MENUBARBREAK单个菜单项的标志,在 MenuItem class 中作为属性公开包装器: MenuItem.Break MenuItem.BarBreak , 分别。

前者只是将菜单项放置在一个新列中,而后者将菜单项放置在一个新列中,并用 eclipse 刻的垂直线分隔该列。

从 MSDN 示例:

public void CreateMyMenus()
{
// Create three top-level menu items.
MenuItem menuItem1 = new MenuItem("&File");
MenuItem menuItem2 = new MenuItem("&New");
MenuItem menuItem3 = new MenuItem("&Open");

// Set the BarBreak property to display horizontally.
menuItem2.BarBreak = true;
menuItem3.BarBreak = true;

// Add menuItem2 and menuItem3 to the menuItem1's list of menu items.
menuItem1.MenuItems.Add(menuItem2);
menuItem1.MenuItems.Add(menuItem3);
}

关于.net - 我可以在 .NET Windows 窗体中创建多列上下文菜单吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8833140/

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