先将Form的KeyPreview属性设置为True 然后填入以下代码就能实现你的要求了! Protected Overrides Sub OnKeyDown(ByVal e As System.Windows.Forms.KeyEventArgs) If e.Control = True Then If e.KeyCode = Keys.A Then TextBox1.SelectAll() End If End If End Sub
to netmicro(麦): 可以在textBox中处理,我这么做,是为了更好处理这个事件,对于焦点不在textBox上时也可以处理,有更好的易用性,无他。
to s5689412(华君): 原谅我的挑剔,但是焦点不在textBox1里我认为就不应该全选textBox1的内容——如果我在另一个TextBox里编辑的时候按Ctrl+A,焦点忽然跳到textBox1并且全选了,我会认为我电脑被木马控制了
to netmicro(麦): 我觉得只是个人的选择问题了,看lz需要,你说的情况的确存在,不过也可能整个窗口上就只有一个TextBox的话,用户应该可以随时选中TextBox的内容。
to starring(漂流⊙一组):你漏了一个很重要的调用(在结尾,两个End If之后):MyBase.OnKeyDown(e)
{
if (e.Control && e.KeyCode == Keys.A)
{
textBox1.SelectAll();
textBox1.Focus();
}
}
另外也可以重写Form的ProcessCmdKey等的实现来做到,如果lz有兴趣可以去找找这些的实现方法。
然后填入以下代码就能实现你的要求了!
Protected Overrides Sub OnKeyDown(ByVal e As System.Windows.Forms.KeyEventArgs)
If e.Control = True Then
If e.KeyCode = Keys.A Then
TextBox1.SelectAll()
End If
End If
End Sub
可以在textBox中处理,我这么做,是为了更好处理这个事件,对于焦点不在textBox上时也可以处理,有更好的易用性,无他。
原谅我的挑剔,但是焦点不在textBox1里我认为就不应该全选textBox1的内容——如果我在另一个TextBox里编辑的时候按Ctrl+A,焦点忽然跳到textBox1并且全选了,我会认为我电脑被木马控制了
我觉得只是个人的选择问题了,看lz需要,你说的情况的确存在,不过也可能整个窗口上就只有一个TextBox的话,用户应该可以随时选中TextBox的内容。