c# - 如何在 C# (Visual Studio) 中进行热键控制
问题描述
我正在使用 Visual Studio 制作 C# WinForm 应用程序。我使用过 AutoHotKey,AHK 有名为“Hotkey Box”的 GUI 控件(AutoGUI 说“Hotkey Box”)。
当用户单击“热键框”并输入“Ctrl+Alt+F”之类的热键组合时,它会出现在框内。像这样:
我想使用这种控件,以便用户可以轻松地制作自己的热键。
如果用户必须选择下拉列表中的每个键,那将是非常不舒服的。
我搜索了谷歌,但只找到了我必须使用msctls_hotkey32
的信息。我找不到如何使用msctls_hotkey32
.
而且由于我必须在设计器模式下使用该控件来调整位置/宽度/等。如何在设计器模式下使用我的自定义控件?
解决方案
定义您自己的自定义控件,然后在自定义控件上覆盖以下内容,
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ClassName = "msctls_hotkey32";
return cp;
}
}
CreateParams在创建控制句柄时调用
推荐阅读
- jmeter - JMeter 线程组加速时间加持续时间问题
- cobol - 记录行/输出行中的第一个计算记录在 COBOL 中的输出中变为空白
- tensorflow - 准备音频文件以发送到 TensorFlow 模型服务器
- bash - 使用 pam_systemd.so 自定义 XDG_RUNTIME_DIR
- django - Django 查找外键表单字段(新手问题)
- python - 为什么我在找出一个变量与熊猫数据框中所有其他变量的相关性时会出错
- ios - 将卡添加到 Apple Wallet
- java - PriorityBlockingQueue 的目的是什么?
- excel - 使用索引/匹配公式时跳过空单元格
- r - 如何将多个二进制值列合并为一个以使预先列名成为 R 中的“因素”?