c#中组合键的应用
组合键在程序中是很有用的,像聊天软件中ctrl+回车发送消息,又或是ctrl+A来回完成什么快捷操作等。在c#中应用这类组合快捷键也是比较方便的,但对于初学者来说,可能以前总是用'+'来运算键值,这种方法到了C#中可就不那么灵光了,那么到底如何应用呢,看一段简单的代码。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
if (ModifierKeys == Keys.Control && e.KeyCode == Keys.Enter)
{
this.textBox2.AppendText(this.textBox1.Text + "\n");
this.textBox1.Clear();
}
}
{
if (ModifierKeys == Keys.Control && e.KeyCode == Keys.Enter)
{
this.textBox2.AppendText(this.textBox1.Text + "\n");
this.textBox1.Clear();
}
}
以上代码是一个Text控件的keyup事件,里面的代码功能是在textbox1里面输入字符,然后按ctrl+回车键后,将textbox1内的字符输入到textbox2中去,并清空textbox1的内容。让我们稍做一下改动:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
if ((int)ModifierKeys == (int)Keys.Control + (int)Keys.Alt && e.KeyCode == Keys.J)
{
this.textBox2.AppendText(this.textBox1.Text + "\n");
this.textBox1.Clear();
}
}
{
if ((int)ModifierKeys == (int)Keys.Control + (int)Keys.Alt && e.KeyCode == Keys.J)
{
this.textBox2.AppendText(this.textBox1.Text + "\n");
this.textBox1.Clear();
}
}
这段代码的功能和上面是一样的,只是快捷键有所改动,改成了ctrl + alt + J.注意到在键值前面加了(int),这其实就是将枚举类型的值转回int类型而已。
Convert.ToInt32(Keys.Delete) && ((int)Control.ModifierKeys == (int)Keys.Control + (int)Keys.Alt) :ctrl + alt +del
Convert.ToInt32(Keys.F4) && Control.ModifierKeys == Keys.Alt :alt+F4
Convert.ToInt32(Keys.Escape) && Control.ModifierKeys == Keys.Control :ctrl + esc
Convert.ToInt32(Keys.Tab) && Control.ModifierKeys == Keys.Alt :alt+tab
……