- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个包含许多菜单的 WinForms 应用程序,每个菜单平均有 30 个菜单项。在任何给定的菜单中,都可以有多个以相同字母开头的单词。
目前,我使用一种简单的方法,通过在每个菜单项的开头添加一个符号来创建到每个项目的 alt 键映射。
我需要能够检测重复的键映射(起始字母)并将其重新分配给另一个字符;那还没有被采取。获胜的角色将是最接近单词乞求的角色。
更理想的算法应该足够聪明,可以查看字符串中的下一个单词,并具有加法规则。如果我可以创建一组规则来模拟这样的菜单:
我知道 fire fox 最有可能手动分配它们的映射 - 但我试图建设性地懒惰。
最佳答案
您可以将其视为 http://en.wikipedia.org/wiki/Hungarian_algorithm 的示例.在文章的语言中,将您的菜单项标题视为工作人员。您想要为每个 worker 分配一份工作,其中一份工作是一封来自 A-Z 的字母。将 worker 分配给一个字母(工作)的成本是该字母在菜单项中的索引。这最小化了索引的总和,因此如果第一个字母都不同,最好的解决方案是使用每个菜单项的第一个字母。
当然,字母通常比菜单项多。您可以通过发明虚拟菜单项来解决这个问题,对每个可能的字母分配给虚拟菜单项收取相同的费用。
关于c# - 过滤掉重复字母并重新分配给菜单 alt 键可用字母的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8222582/
添加 null alt=""有什么好处?是为了通过验证还是有更多的理由 以及它应该怎么写? 像这样,没有空间 alt="" 或者这个有一个空格 alt=" " 最佳答案 其他答案已经指出了标准中的要求
抱歉,我忘了说我正在使用 Jeff Atwood 的 wasd 104 键代码键盘,并且“Mac 模式设置为开\我正在从 Windows 远程桌面连接到我的 Mac 计算机: 我正在尝试使用自动热键禁
我正在为所有图像添加 alt 属性以提高 SEO/屏幕阅读器性能。 根据最佳实践,纯美学图像应该有一个空的 alt 属性 alt="",以便屏幕阅读器跳过它们。我在 WordPress 中注意到它确实
基本上, 它的灵感来自 Vim 我想使用一个键(例如 Alt、F1)组合(+I J K L)来映射到箭头键 Autohotkey 中已经完成的工作 Ralt & j::send{Left} Ralt
我正在尝试文档页面中解释的示例代码 http://developers.itextpdf.com/content/itext-7-examples/converting-html-pdf/pdfhtm
我正在使用 goatslacker/alt 开发一个 flux 前端程序.我在触发商店更新操作时遇到问题。监听器未按预期运行。 我现在正在处理的代码非常复杂。我将尝试将我的问题简化为以下代码。我希望它
The MSDN page on DXGI提供有关如何处理不同于桌面分辨率的全屏分辨率的说明。它说在调用 IDXGISwapChain::SetFullscreenState() 之前先调用 IDXG
在 javascript Event 对象中,有一些 bool 值来检查修饰键是否被按下: ctrlKey:CTRL 键。 altKey:ALT 键。 altLeft:ALT 左键。仅适用于 IE。
我在cygwin/Xming下使用xterm。 Alt+B(向后跳一个字)和Alt-F(向前跳一个字)不起作用,而是显示一些变音字符或其他东西。 我在我的主目录中创建了一个文件 .Xresources
通过 Azure Bastion 连接时,我无法让 Windows Server 2019 数据中心识别 Alt Gr 键。该键被误认为是 Alt 键。我的本地操作系统是Windows 10,我的浏览
Windows 中的某些键盘布局(例如 US-QWERTY)将右 Alt 视为常规 Alt 键,而其他(例如 US International)将其视为 AltGr,并在按下时同时生成 Ctrl 和
通过 Azure Bastion 连接时,我无法让 Windows Server 2019 数据中心识别 Alt Gr 键。该键被误认为是 Alt 键。我的本地操作系统是Windows 10,我的浏览
我想使用 2 个快捷键显示 console.log():Alt+a 和 Alt+r 但事实并非如此工作,它没有向我显示任何消息。这就是代码 $(document).bind('keydown
我正在使用以下代码检测 alt。它有效,但是当我执行 alt-tab 切换到另一个程序时,我得到 keydown 18 (alt) 并且没有 keyup,并且 alt 保持按下状态。我该如何解决这个问
我想在 shell 终端中使用 ALT + d 来杀死一个单词。 问题是,如果我使用国家字符,即西里尔字母,在按下 ALT + CyrChar 后,我会在我调整的 xterm 上得到一个 CyrCha
$('input').keyup(function(){ $('div').html($(this).val()); }); http://jsfiddle.net/NMqhW/
我正在使用 DirectX 11 用 C++ 编写一个程序,我希望它能够在用户按下 Ctrl-Alt-Del 或 Alt-Tab 时最小化我的程序。 让窗口本身最小化是比较容易的部分,因为我所要做的就
我最近开始使用 alt.js 重写 Flux & React 应用程序,这使我可以在从服务器渲染时轻松地使用数据引导应用程序。 除了在客户端分派(dispatch)操作时我无法触发我的存储方法之外,其
Windows 下的 Eclipse 有一个非常烦人的问题。当我按下 Right Alt+ key。这让我查看了键绑定(bind)列表并删除了 Ctrl+Alt+key 的所有绑定(bind),我认为
我无法弄清楚两者之间的区别: alts! 和 alt! 在 Clojure 的 core.async . 最佳答案 alts!是 功能 它接受要从中获取的 channel 向量和/或带有要放置在其上的
我是一名优秀的程序员,十分优秀!