[英]Find if KeyUp or KeyDown event was fired
對於KeyUp
和KeyDown
事件,我有一塊相同的代碼; 唯一的區別是一行代碼,將button.BackColor
更改為Color.Gray
或Color.White
。 我想將此代碼塊放入單獨的方法中以避免重復,並且兩個事件不同的單行應如下所示:
button.BackColor = (KeyUp was fired) ? Color.Gray : Color.White;
該方法接受KeyEventArgs e
作為參數,但是我不知道如何確定e
是KeyUp
還是KeyDown
類型。 在C#(winforms)中,JavaScript是否有與event.type
屬性類似的event.type
? 否則,還有其他方法嗎? 謝謝
從System.Windows.Forms.KeyEventArgs
無法確定該事件是否由於KeyUp
或KeyDown
事件而引發。 最好的選擇是使用不同的處理方法,這兩種方法都調用一個通用方法,即
private void OnKeyDown(object sender, KeyEventArgs eventArgs)
{
HandleKeyState(false, eventArgs);
}
private void OnKeyUp(object sender, KeyEventArgs eventArgs)
{
HandleKeyState(true, eventArgs);
}
private void HandleKeyState(bool isKeyUp, KeyEventArgs eventArgs)
{
button.BackColor = isKeyUp ? Color.Gray : Color.White;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.