2015-05-12 92 views
2

我想提出一個方案中,我使用這個代碼,如何處理表單的KeyPress事件?

private void Form1_KeyPress(object sender, KeyPressEventArgs e) 
{   
    if (e.KeyChar >= 48 && e.KeyChar <= 57) 
    { 
     txtbox.Text = txtbox.Text + e.KeyChar.ToString(); 
    } 
} 

但我沒有得到壓在我的文字box.I關鍵是無法找到故障原因。

+0

鍵盤事件在具有焦點的控件上觸發。當它擁有一個可以接收焦點的控件時,這絕不會是這種形式,就像您在表單上的文本框一樣。很不清楚你爲什麼沒有使用「txtbox」控件的KeyPress事件。 –

回答

1

根據this您必須將Form.KeyPreview設置爲true,默認爲false。否則,您無法處理表單的KeyPress事件。

當此屬性設置爲true,窗體將接收所有KeyPressKeyDownKeyUp事件。

+0

非常感謝您的慷慨幫助。 –

+0

@MariaSheikh:我很高興聽到你有工作。考慮接受答案。 –