c# - 使用 textBox KeyDown 事件加载 C# WinForm 应用程序中的 Windows 10 声音
问题描述
在C#
WinForm
桌面应用程序 Form2 中,这是登录表单,我有 textBox1_KeyDown
事件:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
LOGIN();
}
}
相同的LOGIN();
函数加载Form1
没有任何Windows 10 sound
,例如使用按钮,如下所示:
private void button1_Click(object sender, EventArgs e)
{
LOGIN();
}
但是按下Enter key
键盘时,事件textBox1_KeyDown
会加载Windows 10 声音(在显示弹出警报时播放,如警告消息)或声音(由于多种原因在关闭活动窗口之前选择父窗口播放),或者它是,(当您尝试执行操作系统不支持的操作时播放),根据什么是声音方案中包含的程序事件?.Form1
Asterisk
Default Beep
Exclamation
我不确定哪一个,这 3 件听起来一样,或者它只是相同的音轨,反正我不知道,如何通过键盘输入来避免这种声音,在LOGIN();
功能上,表单以这种方式加载:
Form1 objForm1 = new Form1();
this.Hide();
objForm1.Show();
任何指南、建议或示例都会有所帮助
解决方案
执行此操作的几种方法,请检查: 按 Enter 时停止“叮”
我认为最好的方法是设置 Form.AcceptButton 属性(到预期的按钮),而不是在文本框中编程 keydown,但如果你不想要这种方式,你也可以使用下面的代码:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
//DoYourLogic
e.Handled = true;
e.SuppressKeyPress = true;
}
}
推荐阅读
- javascript - 如何使用“binance.futuresMiniTickerStream()”函数在 react.js 中设置状态
- javascript - Javascript标签系统
- python - 决策树总是为不同的输入返回相同的值
- sql - 获取 PL/SQL 中游标列中所有值的结果的函数
- php - PayPal 按钮不会将“自定义”字段传递给 IPN
- python-3.x - ImportError:无法从部分初始化的模块“binarytree”导入名称“build”
- reactjs - Npm 运行构建 React.js
- amazon-web-services - 从 Lambda 函数连接 RDS 时超时
- python - 在android studio中查找两个类之间的简单图像分类代码时出现问题
- javascript - 如何在 rxjs 中优化两台服务器之间网络请求的顺序处理