c# - Windows "ding"在文本框中使用 ctrl+A 时播放声音 (C#)

标签 c# textbox keydown

通过在 Control 设置为 True 时监听文本框的 KeyDown 事件中的“A”按键,创建支持“ctrl+A”(全选)的文本框非常容易。当满足此条件时,文本框会执行如下调用:

textBox1.Select(0, textBox1.Text.Length);
textBox1.ScrollToCaret();

“全选”功能运行良好,只是当我在使用该应用程序时在文本框中实际键入 ctrl+A 时,我会听到 Windows“叮”声。我不明白为什么。

最佳答案

至少在带有Windows FormsWindows XP SP3上,同样的情况发生在我身上(这真的很烦人)。

即使没有任何事件处理程序,也会发出“叮”声。多行和其他设置(预览、输入键等)也不起作用。

我使用这个事件处理程序来摆脱它:

public static void TextBoxSelectAll(object sender, KeyEventArgs e)
{
    if (e.KeyData == (Keys.Control | Keys.A))
    {
        ((TextBox)sender).SelectAll();

        e.SuppressKeyPress = true;
        e.Handled = true;
    }
}

关于c# - Windows "ding"在文本框中使用 ctrl+A 时播放声音 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5266394/

相关文章:

Javascript 与 ASP :TextBox inside Repeater

c# - 文本框绑定(bind)不起作用

c# - 如何捕获在 C# 中的 DataGridView 上触发 "CellEndEdit"的击键?

c# - 垃圾邮件过滤 : where do I start

c# - 非常慢的 WebResponse 触发超时

c# - beginInvoke、GUI 和线程

c# - 从按键获取数字作为 Int

c# - 在 Azure 上使用 C# 修剪 AAC 音频文件

vb.net - 自动滚动到多行文本框的底部

javascript - javascript keydown 事件的优先级是什么(如果有的话)?