【问题标题】:Save a text string to textbox with keyboard shortcut使用键盘快捷键将文本字符串保存到文本框
【发布时间】:2014-05-20 17:26:54
【问题描述】:

我是 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");
        }
    }

干杯

【问题讨论】:

    标签: c# textbox save keyboard-shortcuts


    【解决方案1】:

    您可以通过调用 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-17
      相关资源
      最近更新 更多