none
textBox的onKeydown事件的问题。 RRS feed

  • 问题

  • 我要为一个textBox添加onkeydown的事件,我遇到一个很烦人的问题的,就是如果用户按住ALT或者CTRL再按某个键的话,就会发出“ding”的一声!?

    这到底是怎么回事?能不能不要“ding”的一声?


    da jia hao!

    2013年5月4日 3:12

答案

  • 恩......

    行,加个判断得了:

    private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if ((e.Alt && e.KeyCode == Keys.S) || (e.Control && e.KeyCode == Keys.S))
        {
            e.SuppressKeyPress = true;
        }
    }

    不过具体得添加哪些判断就您自行决定,我这样处理之后的确能避免掉Ctrl+S以及Alt+S发出"ding"声响,

    您再试试吧~



    Best regards

    2013年5月6日 8:26

全部回复

  • 把你的软件拿到别台PC试试,说不准就没事。

    要真如此,检查下你本地电脑的音效设定或是额外加装的软件吧



    Best regards

    2013年5月4日 5:05
  • 你不信把你的音箱打开试试就知道了,这个绝对是windows的默认设置!

    你创建一个默认的WindowsFormApplication,放一个textBox,然后F5,然后在textBox里面按ATL+S(或者其他键),就会发出“ding”的一声!


    da jia hao!


    2013年5月4日 6:41
  • 我会请您把软件拿到其它电脑试试,就是为了判断这问题是不是系统设定差异造成的。这的确是默认设置,不过跟您想的不同,这玩意是能调整的:

    真要在代码里边改也是可以的,但具体意义不同:

    private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
        e.SuppressKeyPress = true;
    }



    Best regards




    2013年5月5日 0:08
  • 不应该提出“去别的电脑上检查”的建议啊。因为有些人可能设置了不要音响,有些人没有设置使用了默认的。而现在的要求就是无论用户怎么设置,都一律不要出声。

    da jia hao!

    2013年5月5日 7:12
  • 用了你的代码,这个textBox等于废了,什么都输入不了。。。

    我的要求是继续能够正常输入文字,但不希望它发出“ding”的一声。


    da jia hao!

    2013年5月5日 7:29
  • 您好,

    这个响声只是说明你输入的内容是“非法”的(无法组合的)。可能你需要关闭音效方可。

    另外希望提问交谈客气一些,谢谢配合!


    If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer

    Help by clicking:
    Click here to donate your rice to the poor
    Click to Donate
    Click to feed Dogs & Cats


    Found any spamming-senders? Please report at: Spam Report

    2013年5月5日 8:24
    版主
  • 恩......

    行,加个判断得了:

    private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if ((e.Alt && e.KeyCode == Keys.S) || (e.Control && e.KeyCode == Keys.S))
        {
            e.SuppressKeyPress = true;
        }
    }

    不过具体得添加哪些判断就您自行决定,我这样处理之后的确能避免掉Ctrl+S以及Alt+S发出"ding"声响,

    您再试试吧~



    Best regards

    2013年5月6日 8:26
  • 用了你的代码,这个textBox等于废了,什么都输入不了。。。

    我的要求是继续能够正常输入文字,但不希望它发出“ding”的一声。


    da jia hao!

    這位大哥,管不管用您也得說句話吧...


    Best regards

    2013年5月8日 14:09