[英]C# Making it so the Enter Key behaves as if a button has been pressed
我該如何編碼,以便在按下 Enter 鍵時,它的行為就像按下了現有表單上的按鈕一樣?
假設表單上的按鈕使它顯示 hello 的顯示消息
private void buttonHello_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello");
}
我如何做到這樣當按下回車鍵時它會做同樣的事情(對於我的生活我不記得了,這可能真的很簡單而且我真的很笨)
WinForms? 如果是,請選擇表格。 現在在屬性窗格(默認屏幕右下角)中,將AcceptButton
屬性更改為“buttonHello”。
獲取或設置窗體上當用戶按下 ENTER 鍵時單擊的按鈕。
這是它在“屬性”窗格中的樣子:
捕獲Enter鍵按下事件,如下所示:
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter){
button.PerformClick();
}
}
在您的表單屬性中,設置 AcceptButton = yourButton,就是這樣。
你在尋找這樣的東西嗎:-
private void tb_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
button.PerformClick();
}
將Key Down事件處理程序添加到您的表單中。 然后檢查是否已按下回車鍵
private void form_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.Enter)
buttonHello.PerformClick();
}
您正在朝着“魔術按鈕”反模式前進,症狀是您想從其他地方驅動按鈕。 以某種方式將您想要的行為與按鈕隔離(成員函數可以工作),然后從您喜歡的任何點調用相同的函數。 如果您真的只想回復回車鍵,最好的方法是,如@Idle_mind 所建議的那樣,使用AcceptButton
。
對於 WinForms:
using System.Windows.Forms; // reference
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
// do something
}
}
對於 WPF:
using System.Windows.Input; // reference
private void Window_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
// do something
}
}
筆記
Keys.YOURKEY
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.