2012-03-01 44 views
0

我已經讀過,我可以通過定義一個表單接受按鈕來抑制這種噪聲,這是我試圖避免的(我可以將它指向一個隱藏或非活動的按鈕,但是因爲它並不是明確的我試圖我很擔心副作用)如何抑制與在文本框中按RETURN關聯的噪音?

我使用下面的代碼片段來捕獲返回鍵,它工作得很好,如果我手動點擊按鈕不會發生噪聲。

private void urlTextBox_KeyDown(object sender, KeyEventArgs e) { 
     if (e.KeyCode == Keys.Return) 
     //if (e.KeyValue.Equals(13)) 
     { 
      e.SuppressKeyPress = true; 
      //e.Handled = true; 
      goButton.PerformClick(); 
     } 

我的目標是.NET 4.0,所以我應該能夠實現大多數想法。

+0

WinForms? WPF? Silverlight的? ASP.Net? MonoTouch的? – SLaks 2012-03-01 22:01:43

+1

@SLaks - 它是WinForms ... – 2012-03-01 22:02:33

+0

當你點擊一個WinForms按鈕時,你的電腦會發出噪音嗎? – DOK 2012-03-01 22:04:45

回答

1

這給一個鏡頭:

private void urlTextBox_KeyUp(object sender, KeyEventArgs e) 
{ 
    if (e.KeyCode == Keys.Return) 
    {     
     e.SuppressKeyPress = true; 
    } 
} 
private void urlTextBox_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    if (e.KeyChar == (char)Keys.Return) 
    { 
     e.Handled = true; 
     goButton.PerformClick(); 
    } 
} 

Source

它也可以與KeyDown事件工作,但我沒有測試它。

+0

我把必要的'this.urlTextBox.KeyPress + = new KeyPressEventHandler(urlTextBox_KeyPress);'和'this.urlTextBox.KeyUp + = new KeyEventHandler(urlTextBox_KeyUp);'並且它按預期工作。你能解釋一下嗎?爲什麼? – Stephen 2012-03-01 22:16:31

+0

不幸的是,沒有...也許讓用戶知道他們的按鍵被編程抑制,以避免支持呼叫MS說Windows缺少按鍵? – 2012-03-01 22:18:16