gpt4 book ai didi

winforms - 如何右对齐菜单中的快捷键?

转载 作者:行者123 更新时间:2023-12-04 10:21:18 25 4
gpt4 key购买 nike

我添加了我的菜单项快捷键,但它们排列不当。

enter image description here

我需要这样做:

enter image description here

最佳答案

啊,我想我终于想出了如何做到这一点(很长一段时间以来,你是如何获得这两个不同的屏幕截图一直让我感到困惑......)。事实证明,您可以通过两种方式指示 Windows 在下拉菜单中对齐快捷键。

第一种(可能也是最标准的)方法是插入 制表符 ( \t ) 在与菜单文本对应的字符串中。这会产生原始问题中显示的底部示例,其中所有标识符都左对齐并且有些悬垂。这是几乎所有 Microsoft 应用程序的标准,也是我知道几分钟前还存在的唯一选项。

The first option, created using a tab character delimiter, with shortcut key sequences left-aligned示例资源字符串:&Print…\tCtrl+P
第二种方法是替换那个\t使用 的转义序列\a 在资源字符串中(是的,奇怪的是通常会指示 alert bell )。这会导致 Windows 右对齐菜单中的所有快捷键序列,从而生成第一个屏幕截图中所示的示例。这确实产生了一个更有效地使用屏幕空间的菜单(它更小),但这是以每个快捷键序列在其左侧边距下整齐对齐为代价的,我认为这使可读性稍微容易一些。

The second option, created using an '\a' delimiter, with shortcut key sequences right-aligned示例资源字符串:&Print…\aCtrl+P
因此,如果您希望您的菜单看起来像原始问题中的第二个示例(是的,我已将样本向后排列困惑。抱歉),您需要使用制表符( \t )在包含菜单项文本字符串的资源文件。

奇怪的是,您声称正在使用 .NET WinForms,它会自动处理所有这些(使您免于弄乱资源文件的痛苦)。我知道它会插入制表符,而且我见过它生成的所有菜单看起来都像你的第二个例子。

最好的办法是将菜单切换到旧的 MainMenu早期版本的 .NET Framework 中包含的控件。 (为此,您可能必须右键单击“工具箱”并手动添加控件——在更高版本的 Visual Studio 中默认不存在该控件。)这将确保您看到您期望的对齐行为,与记事本等所有标准 Windows 应用程序一致。它还生成看起来像原生操作系统菜单的菜单(在 Vista 和 7 中,它们被涂成蓝色)而不是由 MenuStrip 生成的看起来很业余的所有者绘制的菜单。在现代版本的 Windows 中完全不合适的控件。

微软 official documentation确实确认 MainMenu control仍支持将来使用,因此无需担心在您的应用中使用它。我强烈建议大家改用这个:

Although MenuStrip replaces and adds functionality to the MainMenu control of previous versions, MainMenu is retained for both backward compatibility and future use if you choose.

关于winforms - 如何右对齐菜单中的快捷键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4975077/

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