在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
组合键在程序中是很有用的,像聊天软件中ctrl+回车发送消息,又或是ctrl+A来回完成什么快捷操作等。在c#中应用这类组合快捷键也是比较方便的,但对于初学者来说,可能以前总是用'+'来运算键值,这种方法到了C#中可就不那么灵光了,那么到底如何应用呢,看一段简单的代码。 首先要设置Form.KeyPreview 属性为true,以便窗体能接收键盘事件. 例如Alt + F 例如Alt + E
private void treeView1_KeyDown(object sender, KeyEventArgs e){ /* If the 'Alt' and 'E' keys are pressed, * allow the user to edit the TreeNode label. */ if(e.Alt && e.KeyCode == Keys.E) { treeView1.LabelEdit = true; // If there is a TreeNode under the mose cursor, begin editing. TreeNode editNode = treeView1.GetNodeAt( treeView1.PointToClient(Control.MousePosition)); if(editNode != null) { editNode.BeginEdit(); } }}private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e){ // Disable the ability to edit the TreeNode labels. treeView1.LabelEdit = false;} 属性值 命名空间:System.Windows.Forms 当此属性设置为 true 时,窗体将接收所有 KeyPress、KeyDown 和 KeyUp 事件。在窗体的事件处理程序处理完该击键后,然后将该击键分配给具有焦点的控件。例如,如果 KeyPreview 属性设置为 true,而且当前选定的控件是 TextBox,则在窗体的事件处理程序处理了击键后,TextBox 控件将接收所按的键。要仅在窗体级别处理键盘事件并且不允许控件接收键盘事件,请将窗体的 KeyPress 事件处理程序中的 KeyPressEventArgs.Handled 属性设置为 true。 可以使用此属性处理应用程序中的大部分击键事件,并可以处理击键事件或调用适当的控件来处理击键事件。例如,当应用程序使用功能键时,可能希望在窗体级别处理这些击键,而不是为可能接收击键事件的每个控件编写代码。 注意 获取或设置一个值,该值指示在将键事件传递到具有焦点的控件前,窗体是否将接收此键事件。 |
请发表评论