【发布时间】:2011-09-30 03:42:19
【问题描述】:
我有一个只读的文本框。我还有一个工具条菜单项,它具有 Ctrl + R 的快捷方式。当焦点位于文本框中时,工具条菜单项快捷方式不再起作用。
我可以与按键事件相交并检查按键是否为 Ctrl + R,但由于我使用的是通用文本框控件,因此这需要引发事件或传递委托以调用给定的特定键到我的通用控件.
如果焦点位于只读控件上,有没有人有过让工具提示菜单项的快捷方式触发的经验?
【问题讨论】:
我有一个只读的文本框。我还有一个工具条菜单项,它具有 Ctrl + R 的快捷方式。当焦点位于文本框中时,工具条菜单项快捷方式不再起作用。
我可以与按键事件相交并检查按键是否为 Ctrl + R,但由于我使用的是通用文本框控件,因此这需要引发事件或传递委托以调用给定的特定键到我的通用控件.
如果焦点位于只读控件上,有没有人有过让工具提示菜单项的快捷方式触发的经验?
【问题讨论】:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Control | Keys.R))
{
MessageBox.Show("Handle with care! :)");
}
return base.ProcessCmdKey(ref msg, keyData);
}
将该逻辑放在包含只读控件的表单上。
【讨论】: