【问题标题】:how do I create custom hotkey using winforms如何使用winforms创建自定义热键
【发布时间】:2017-07-28 18:08:53
【问题描述】:

我被要求在有两个组合框的地方创建 winform 应用程序。
第一个框包含 Ctrl+AltCtrl+ShiftAlt+Shift 等选项。第二个框包含 a-z 中的字母和数字 0-9..
该表单还包含一个名为“注册”的按钮。我的任务是,当我单击注册按钮时,组合框中选择的选项必须被视为热键并且应该注册。请帮助我编写代码,因为我是这项技术的新手。

private void button1_Click(object sender, EventArgs e)
{
    if (comboBox1.SelectedItem.ToString() != str && comboBox3.SelectedItem.ToString() != s)
    {
        str = comboBox1.SelectedItem.ToString();
        byte str1 = (byte)(str)[0];
        s = comboBox3.SelectedItem.ToString();
        byte s1 = (byte)(s)[0];
        RegisterHotKey(this.Handle, this.GetType().GetHashCode(), Win32Modifiers, s1);
    }
    base.WndProc(ref msg);
}

protected override void WndProc(ref Message m)
{
    if(m.Msg ==  )
    base.WndProc(ref m);
}

这是我到目前为止所做的

【问题讨论】:

  • 请给出一个起点,你的进步和你遇到困难的地方。到目前为止,问题描述过于宽泛。人们不会在这里为您编写整个代码
  • 这些热键应该只注册到您的应用程序还是全局热键?
  • 是的..它应该只在我的应用程序中使用..我已经注册了密钥,但我不知道如何将它作为 Wndproc 消息传递..

标签: c# .net winforms hotkeys


【解决方案1】:

我会通过模拟被按下的键来解决这个问题。就像自动打字机一样。 C# Simulate Key Press 看看这个,看看你能不能从那里弄清楚。 祝你好运。

【讨论】:

    猜你喜欢
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    • 2019-09-05
    • 2013-12-10
    • 1970-01-01
    • 2011-06-06
    相关资源
    最近更新 更多