你如何停止这个烦人的叮当声?
How do you stop this annoying ding?
我知道这个问题已被问及多次回答,但如果 none 的答案有效怎么办?我正在使用 Visual Studio 2017 重写一个 vb6 应用程序,该应用程序捕获组合键 "ctrl+enter" 以加载对话。
我从名为 CourtName 的文本框中捕捉到组合键,但无法摆脱伴随它的烦人 "ding"。
我在谷歌上搜索了很多小时,但到处都是使用 e.Handled and/or e.SuppressKeyPress,但我没有成功。
这是我的代码:
Private Sub CourtName_KeyDown(sender As Object, e As KeyEventArgs) Handles CourtName.KeyDown
If e.KeyCode = Keys.Enter AndAlso e.Control Then
e.Handled = True
e.SuppressKeyPress = True
CourtsBtn.PerformClick()
End If
End Sub
无论 e.Handled 和 e.SuppressKeyPress 语句是在 PerformClick() 语句之前还是之后,提示仍然存在。
我缺少什么魔法?
尝试替换以下代码:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox1.Multiline = True
MsgBox("Pressed!")
End Sub
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyData = Keys.Control + Keys.Enter Then
TextBox1.Multiline = False
Button1.PerformClick()
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
TextBox1.Multiline = True
End Sub
我已经在我的机器上测试了这段代码,它运行完美!
尽情享受吧!
我刚刚测试了这段代码,无论使用或不使用什么修饰符,都没有 ding Enter
:
Public Class Form1
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = Keys.Enter Then
'Suppress Windows audio feedback.
e.Handled = True
e.SuppressKeyPress = True
End If
If e.KeyData = (Keys.Control Or Keys.Enter) Then
Button1.PerformClick()
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Console.WriteLine("Button1_Click")
End Sub
End Class
你能测试一下相同的代码,看看它是否适合你吗?
我知道这个问题已被问及多次回答,但如果 none 的答案有效怎么办?我正在使用 Visual Studio 2017 重写一个 vb6 应用程序,该应用程序捕获组合键 "ctrl+enter" 以加载对话。 我从名为 CourtName 的文本框中捕捉到组合键,但无法摆脱伴随它的烦人 "ding"。 我在谷歌上搜索了很多小时,但到处都是使用 e.Handled and/or e.SuppressKeyPress,但我没有成功。 这是我的代码:
Private Sub CourtName_KeyDown(sender As Object, e As KeyEventArgs) Handles CourtName.KeyDown
If e.KeyCode = Keys.Enter AndAlso e.Control Then
e.Handled = True
e.SuppressKeyPress = True
CourtsBtn.PerformClick()
End If
End Sub
无论 e.Handled 和 e.SuppressKeyPress 语句是在 PerformClick() 语句之前还是之后,提示仍然存在。 我缺少什么魔法?
尝试替换以下代码:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox1.Multiline = True
MsgBox("Pressed!")
End Sub
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyData = Keys.Control + Keys.Enter Then
TextBox1.Multiline = False
Button1.PerformClick()
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
TextBox1.Multiline = True
End Sub
我已经在我的机器上测试了这段代码,它运行完美!
尽情享受吧!
我刚刚测试了这段代码,无论使用或不使用什么修饰符,都没有 ding Enter
:
Public Class Form1
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = Keys.Enter Then
'Suppress Windows audio feedback.
e.Handled = True
e.SuppressKeyPress = True
End If
If e.KeyData = (Keys.Control Or Keys.Enter) Then
Button1.PerformClick()
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Console.WriteLine("Button1_Click")
End Sub
End Class
你能测试一下相同的代码,看看它是否适合你吗?