好了,有很多方法可以解决我的问题。标题描述了一个。

问题是我已经使用智能文本框控件(ScintillaNET)进行了编辑,并且希望在菜单上实现“编辑->撤消”按钮,该按钮还会在文本中显示其快捷键。不幸的是,我不能简单地绑定它,因为它将导致撤消事件被触发两次(一旦控件单独执行一次,并且由我执行一次)。

如果用户单击撤消操作,我仍然需要该按钮来运行撤消操作(而不是快捷键)。

我可以通过3种方法解决此问题:


从ScintillaNET控件中取消绑定键(无法找到如何执行此操作)。
寻找一种识别该按钮是单击还是快捷键的方法。
无需实际应用快捷键即可显示快捷键。


有谁知道如何做以上之一?

我宁愿不要重写绘图方法之类的方法。

编辑:

我对这个问题有点不准确。实际上,这是我需要检查的ToolStripMenuItem。遗憾的是,它没有Focused属性。

最佳答案

找到了!

我在窗体的构造函数中设置了ShortcutKeyDisplayString,而没有实际设置快捷键。

public EditorForm()
{
    ....
    undoToolStripMenuItem.ShortcutKeyDisplayString = "Ctrl+Z";
    ....
}

关于c# - Winforms:快捷键文本没有绑定(bind),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17916269/

10-10 22:02