如果 MenuStrip 设置了此快捷键,则快捷键 Ctrl+C Ctrl+V 在文本框中不起作用
目标:具有复制和粘贴功能的菜单条,用户应看到快捷键。
问题:如果您有一个 MenuStrip 并设置了快捷键,则它们会被菜单“捕获”,但不再被菜单“捕获”文本框。这意味着您不能在文本框中使用 Ctrl+C / V - 只能通过右键单击。如果删除快捷方式,文本框可以正常工作。
这是为什么?如果我不想将条目命名为“Copy______Ctrl+C”,解决方案是什么?
示例项目: http://www.file-upload.net/download- 4098087/MenuBlocksSTRG.zip.html
MSDN 已关闭 ATM 我发现了此链接:
Goal: A Menustrip with Copy and Paste and the user shall see the Shortcut-Keys.
Problem: If you have a MenuStrip and set the ShortcutKeys the are "catched" by the Menu but no longer by the Textboxes. This means you cannot use Ctrl+C / V in the Textboxes - only by Right-Click. If you remove the Shortcuts the Textboxes work fine.
Why is that? Whats the solution if I dont want to name the Entry "Copy______Ctrl+C"?
Example Project: http://www.file-upload.net/download-4098087/MenuBlocksSTRG.zip.html
MSDN is down ATM i found this links:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
这应该适用于复制,并且您可以以相同的方式处理粘贴:
This should work for copy, and you can take care of paste in same way:
如果仍然重要,简单的解决方案可能是:
仅显示快捷键文本,如图所示。
在文本框中将 ShortcutsEnabled 设置为 true。就这样!
If it still matters, the simple solution might be:
Show only the shortcut keys text, as in the image.
In the TextBox set ShortcutsEnabled to true. That's all!
在这些情况下,您可能必须自己处理事情。
简单的例子:
You probably have to handle things yourself in those cases.
Simple example:
你需要这样的东西吗?
You need something like this?
对于更复杂的 UI,Ivan Ičin 的解决方案会变得困难。但它可以做得更简单。如果焦点位于文本框上,则返回 false:
此外,菜单栏中的复制和粘贴点通常引用某些控件,我们将其称为 editorControl。所以我宁愿逆向测试。这样,可以将其他文本框添加到表单中,而无需更新此功能。
通过返回 false,也很容易处理 Ctrl X 和 Ctrl V。所以最后我使用这个:
Ivan Ičin's solution would become difficult for more complex UIs. But it can be done simpler. Just return false if the focus is on the textbox:
Also, the copy and paste points in the menubar normally refer to certain controls, let's call it editorControl. So I would rather inverse the test. This way other textboxes can be added to the form without the need to update this function.
With returning false it is also easy to handle Ctrl X and Ctrl V. So in the end I am using this: