使用者在文字方塊輸入完畢,習慣按 Enter 送出,而非點擊按鈕。覆寫 OnKeyPress 即可攔截按鍵。
protected override void OnKeyPress(KeyPressEventArgs e)
{
base.OnKeyPress(e);
if (e.KeyChar == (char)Keys.Enter) // 13 = Enter
{
e.Handled = true; // 避免發出「嗶」聲或換行
GetIpList(); // 執行自訂邏輯
}
}
e.Handled = true:標記事件已處理,阻止後續控制項接收(如避免多行 TextBox 換行)。Keys.Enter 對應字元碼 13,也可直接寫 '\r' 或 (char)13。KeyDown 事件檢查 e.Modifiers。PreviewKeyDown 附加事件,邏輯類似。public partial class MainForm : Form
{
public MainForm() { InitializeComponent(); }
protected override void OnKeyPress(KeyPressEventArgs e)
{
base.OnKeyPress(e);
if (e.KeyChar == '\r' && ActiveControl is TextBox)
{
e.Handled = true;
ExecuteSearch();
}
}
private void ExecuteSearch() { /* 查詢邏輯 */ }
}