iT邦幫忙

2022 iThome 鐵人賽

DAY 8
0
影片教學

視窗程式設計系列 第 8

【Day8】製作青蛙過街遊戲,透過鍵盤控制青蛙移動

  • 分享至 

  • xImage
  •  

嗨,大家好,今天是視窗程式設計第八天的影片教學,在昨天的教學影片當中,我們透過修改圖片的位置資訊(Left,Top),搭配 Timer 控制項來達成車子的移動效果,而今天,將要透過鍵盤來觸發青蛙的移動行為處理。

要在 windows form 內使用鍵盤行為,需要在 form 的屬性欄位內將 KeyPreview 屬性設成 true,預設為 false。之後點選閃電的圖示,進入視窗的事件清單,在這裡有許多的事件處理可以撰寫,我們選擇 KeyDownKeyPressKeyUp 這三個事件(function)來實作按鍵觸發的效果。

KeyDown 為按鍵按下時進行處理,KeyUp 為按鍵放開時進行處理,KeyPress則代表從按下到放開的過程,在執行上和 KeyDown 相似。而我們透過先前教過的條件判斷來決定按下哪個鍵做對應的處理。

語法如下:

// KeyDown & KeyUp 條件判斷撰寫方式相同
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if(e.KeyCode == Keys.Left) // 透過 KeyCode 處理,在此為按下向左按鍵。條件可視需求增加
    {
        pictureBox_frog.Left -= 10; // 青蛙圖片往左移動10單位
    }
}

// KeyPress 讀取具 ASCII code 的鍵
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == 'A')
        pictureBox_frog.Left -= 50; // 青蛙圖片往左移動50單位
}

比較特別的是,KeyPress 只能讀取具 ASCII code 的鍵,因此在判斷上須使用單引號('')來包住想判斷的字元,而對應處理則是依專案本身需求。

以上是今天的教學內容,感謝大家來訪。

Yes


上一篇
【Day7】青蛙過街遊戲-讓車子動起來!
下一篇
【Day9】青蛙過街遊戲,與車子A到的處理
系列文
視窗程式設計30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言