日期:2014-05-17  浏览次数:20778 次

如何屏蔽windows的警示音
当richTextBox中内容为空时,若按下backspace键,系统将发出警示音,而在我的程序中当richTextBox为空时,按下backspace属于正常行为,它将使光标跳到另一个控件中,我想问的是如何屏蔽这种警示音?

------解决方案--------------------
你可以试下,用TextBox的KeyPress事件,通过他来检测键码KeyChar是否为System.Convert.ToChar(32),最后处理完里面的事件后加上e.Handled =true,这样应该不会出现警告音了
------解决方案--------------------
用2楼的方法试了下,不过要放到KeyDown事件里面。貌似提示音是在KeyPress事件之前的发出的:
        private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Back && richTextBox1.TextLength == 0)
            {
                // do sth. here...

                e.Handled = true;
            }
        }