2010-04-05 40 views
0

我有一个WinForms DateTimePicker的自定义扩展,它的工作正常,除了它使这个厌恶的嘟嘟声,只要我按下转义或输入键的事实。如何避免DateTimePicker的嘟嘟声

我试图重写喜欢的OnKeyPress描述here,但这种方式块按下的键的所有,从而使其无法输入日期或使用键盘的时间。 我应该重写WndProc还是有另一种方法来解决这个问题?

顺便说一句,有没有人知道为什么嘟嘟首先是可取的?

回答

1

只是一个适当的KeyDown事件处理程序压制它:

public partial class Form1 : Form { 
    public Form1() { 
     InitializeComponent(); 
     dateTimePicker1.KeyDown += squelchBeep; 
    } 
    private void squelchBeep(object sender, KeyEventArgs e) { 
     if (e.KeyCode == Keys.Enter || e.KeyCode == Keys.Escape) e.SuppressKeyPress = true; 
    } 
    } 
+0

这样做了,谢谢! – Leon 2010-04-06 12:03:46

1

如果您忽略onkeypress,您必须通过并调用您要接受的键的基数,并且如果您希望忽略这些键,请不要调用输入和换码的基数。也许你应该发布你的代码,看看逻辑中是否有错字。

蜂鸣声通常会向用户表明按键无效。

+0

我明白了,谢谢你的反应。 – Leon 2010-04-06 12:08:41