2010-04-05 38 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