使用键盘快捷键将文本字符串保存到文本框

时间:2014-05-20 17:26:54

标签: c# textbox save keyboard-shortcuts

我是C#的初学者,我试图创建一个Windows窗体应用程序,当您使用键盘执行命令时,将复制的文本保存到文本框中。我知道有更多的东西要做,但我从哪里开始?我起诉至少在开始时使用代码进行某些操作。 另一个问题是......是否可以创建2个以上的命令。如果我添加例如它不起作用:“&& KeyCode.ToString()==”B“)”

private void Form1_KeyDown(object sender,KeyEventArgs e)         {

        if (e.Control && e.KeyCode.ToString() == "C")
        {

           MessageBox.Show("CTRL+C");
        }
    }

干杯

1 个答案:

答案 0 :(得分:0)

您可以通过调用keyDown / Up事件来管理它。跟踪每个事件以及哪个键发生故障。然后使用Clipboard.GetText()函数在两个键都关闭后将剪贴板中的文本复制/粘贴到文本框中。

实施例,

bool keyup = false;
bool keyleft = false;

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Up)
    {
        keyup = true;
    }
    else if (e.KeyCode == Keys.Left)
    {
        keyleft = true;
    }

    if (keyleft && keyup)
    {
        textboxOne.Text = Clipboard.GetText(TextDataFormat.Html);
    }
}


private void Form1_KeyUp(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Up)
    {
        keyup = false;
    }
    else if (e.KeyCode == Keys.Left)
    {
        keyleft = false;
    }
}

将这两个用作我的资源。 资源一:Detect when two keys are pressed at the same time 资源二:http://msdn.microsoft.com/en-us/library/c2thcsx4%28v=vs.110%29.aspx