c# - C# winform 上的 AcceptButton 属性是否可以在不使用 TextBox 的情况下从 Enter 键更改为使用 Ctrl+Enter?
问题描述
我正在对我不久前编写的程序进行更新(感谢大家对我之前的问题的帮助!),我遇到了一个小问题。我想这样做,以便我的程序使用 CTRL+ENTER 将其数据提交到 SharePoint 列表,而无需 TextBox。
我已经搜索了几个小时的 Google 搜索,但没有找到任何真正为我提供我想要的功能的东西。我不喜欢在 WinForm 上使用 AcceptButton 功能,所以欢迎提出任何建议来完成这项工作。
我已经尝试了此代码的各种变体以使其合作,但它根本没有成功。
if (e.SuppressKeyPress = (e.KeyData == (Keys.Control | Keys.Enter)))
{
SubmitBtn.Focus();
SubmitBtn.PerformClick();
}
一旦按下 CTRL+ENTER,我只需要程序单击一个按钮。按钮本身完成其余的工作。
解决方案
经过大量的试验、错误和拼接来自大量不同论坛的样本后,我确实设法让它工作。这就是最终为我工作的东西。如果有任何编辑可以使其更加精简,请随时告诉我。
private void SubmitShortcut(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.Enter && e.Control)
{
e.Handled = true;
SubmitBtn_Click(sender, e);
}
else if (e.KeyCode != Keys.Enter && e.Control)
{
e.Handled = false;
}
}
推荐阅读
- antlr4 - ANTLR4 自和互左递归
- azure-data-factory - 如何获取 Azure 数据工厂中的分区总数?
- java - Java:如何根据值返回不同的对象/数据类型
- javascript - 无法在谷歌应用脚本中发送带有附件的电子邮件
- node.js - 尝试将存储在 aws S3 中的图像显示到 React 应用程序
- python - Flask - 使用相同名称覆盖图像并显示新图像
- c# - 如何在视图模型中使用路由参数?
- javascript - 尽管代码(看起来)正确,但 Javascript 输入/复选框程序未运行
- php - 向 Laravel 模型添加自定义方法会导致 create() 忽略属性
- mingw - MinGW bison 不识别 api 纯度和 parse-param 指令