好了,有很多方法可以解决我的问题。标题描述了一个。
问题是我已经使用智能文本框控件(ScintillaNET)进行了编辑,并且希望在菜单上实现“编辑->撤消”按钮,该按钮还会在文本中显示其快捷键。不幸的是,我不能简单地绑定它,因为它将导致撤消事件被触发两次(一旦控件单独执行一次,并且由我执行一次)。
如果用户单击撤消操作,我仍然需要该按钮来运行撤消操作(而不是快捷键)。
我可以通过3种方法解决此问题:
从ScintillaNET控件中取消绑定键(无法找到如何执行此操作)。
寻找一种识别该按钮是单击还是快捷键的方法。
无需实际应用快捷键即可显示快捷键。
有谁知道如何做以上之一?
我宁愿不要重写绘图方法之类的方法。
编辑:
我对这个问题有点不准确。实际上,这是我需要检查的ToolStripMenuItem。遗憾的是,它没有Focused属性。
最佳答案
找到了!
我在窗体的构造函数中设置了ShortcutKeyDisplayString,而没有实际设置快捷键。
public EditorForm()
{
....
undoToolStripMenuItem.ShortcutKeyDisplayString = "Ctrl+Z";
....
}
关于c# - Winforms:快捷键文本没有绑定(bind),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17916269/