iT邦幫忙

2022 iThome 鐵人賽

DAY 13
0
影片教學

視窗程式設計系列 第 13

【Day13】虛線製造機-迴圈的使用

  • 分享至 

  • xImage
  •  

嗨,大家好,今天是視窗程式設計第十三天的教學影片,昨天影片已經完成讓道路虛線、金幣、和障礙物的移動,而今天要來透過 loop 的概念,來產生間距固定的道路虛線。

迴圈(loop)的作用是重複執行一段程式碼,直到某一個條件停下來。使用迴圈在程式實作上具有下列好處:

  • 省下撰寫重複程式碼的時間
  • 較容易修改和除錯,因為是寫在一個 block (區塊)內
  • 可讀性較一大段程式碼高

loop 有幾種常見的用法

// while loop,沒有明確執行次數時適用
while ( 條件 ) // 如果條件為 true,則執行 block 內程式碼
{
     // 要執行的程式碼
}

// for loop,有明確執行次數時適用
for ( 起始敘述 ; 條件 ; 每次迴圈執行完執行動作) // 符合條件繼續執行 block 內程式碼
{
  // 要執行的程式碼
}

// for loop 範例,label1文字從 0 顯示到 4
for ( int i = 0 ; i < 5 ; i = i + 1) 
{
      label1.Text = i.ToString();
}

而昨天教的 foreach 也是一種迴圈的概念。

關於新增道路虛線( pictureBox )時的語法如下:

for(int i = 0 ;  i < 5 ; i = i+1) // 新增五個白色虛線
{
    PictureBox p = new PictureBox(); // 產生新的 pictureBox 以變數 p 代表
    p.BringToFront(); // 產生的 pictureBox 移動到視窗頂端
    p.Tag = "line"; // 設定 tag
    p.Size = new System.Drawing.Size(20,100); // 設定大小
    p.BackColor = Color.White; // 設定虛線顏色
    p.BorderStyle = BorderStyle.None; // 設定邊框樣式為無邊框
    p.Visible = true; // 可以顯示
    p.Location = new Point(this.Width / 2 - p.Width / 2 , i * (p.Height + 50) ); // 設定初始位置
    this.Controls.Add(p); // 加入 windows form 的控制項內
}

若要新增其他控制項,如:label,也是相同方式。
上方的水平初始位置的示意圖如下:
白色線當作中間線,設定 this.Width / 2 的情況如下:
https://ithelp.ithome.com.tw/upload/images/20220928/20152427TxcWZTlm9M.png

這是設定 this.Width / 2 - p.Width / 2 的情況
https://ithelp.ithome.com.tw/upload/images/20220928/20152427MeF8ZjPgR0.png

以上是今天的教學內容,也祝老師們教師節快樂!

專案使用icon素材來源:flaticon(https://www.flaticon.com/)
簡報製作和素材使用:canva(https://www.canva.com/)

Yes


上一篇
【Day12】foreach(Control 三寶 in this.Controls)
下一篇
【Day14】c# 的 Random,讓路況難以預判
系列文
視窗程式設計30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言