教學:建立數學測驗 WinForms 應用程式

在這四個教學系列中,你會設計一個數學測驗。 測驗包含四道隨機數學題,考生需在限定時間內嘗試回答。

Visual Studio 整合開發環境(IDE)提供你創建應用程式所需的工具。 欲了解更多關於此 IDE,請參閱「歡迎來到 Visual Studio IDE」。

在這個第一個教學中,你將學習如何:

  • 建立一個使用 Windows Forms 的 Visual Studio 專案。
  • 在表單中新增標籤、按鈕和其他控制項。
  • 設定控制項的屬性。
  • 儲存並執行你的專案。

先決條件

您需要 Visual Studio 才能完成本教學課程。 免費版本請參見 Visual Studio 下載。

備註

此教學需要使用 Windows Forms App(.NET Framework) 專案範本。 安裝時,選擇 .NET 桌面開發 工作負載:

截圖顯示 Visual Studio 安裝程式中 dot NET 桌面開發工作負載。

如果你已經安裝了 Visual Studio,需要新增範本,請從選單中選擇>「工具取得工具與功能」,或在「建立新專案」視窗中,選擇「安裝更多工具與功能」連結。

截圖顯示「安裝更多工具與功能」連結,來自「建立新專案」對話框中「找不到你想要的東西」訊息。

建立你的 Windows Forms 專案

當你建立數學測驗時,第一步是建立一個 Windows Forms 應用程式專案。

  1. 開啟 Visual Studio。

  2. 在 [開始] 視窗上,選取 [建立新專案]。

    這張截圖顯示 Visual Studio 開始視窗中「建立新專案」選項。

  3. 在 「建立新專案 」視窗中,搜尋 Windows 表單。 然後從專案類型清單中選擇桌面。

  4. 選擇 Windows Forms App(.NET Framework) 範本,針對 C# 或 Visual Basic,然後選擇 「下一步」。

    截圖顯示「建立新專案」對話框,裡面有搜尋框、專案類型清單,以及兩個範本被標註出來。

  5. 在 「配置你的新專案 」視窗中,將專案命名 為 MathQuiz,然後選擇 「建立」。

  1. 開啟 Visual Studio。

  2. 在 [開始] 視窗上,選取 [建立新專案]。

    截圖顯示 Visual Studio 2022 開始視窗中「建立新專案」選項。

  3. 在 「建立新專案 」視窗中,搜尋 Windows 表單。 然後從專案類型清單中選擇桌面。

  4. 選擇 Windows Forms App(.NET Framework) 範本,針對 C# 或 Visual Basic,然後選擇 「下一步」。

    截圖顯示 Visual Studio 2022 中「建立新專案」對話框,包含搜尋框、專案類型清單,以及兩個範本。

  5. 在 「配置你的新專案 」視窗中,將專案命名 為 MathQuiz,然後選擇 「建立」。

Visual Studio 為你的應用程式打造解決方案。 解決方案是一個容器,存放你的應用程式所需的所有專案和檔案。

設定表單屬性

當你選擇範本並命名檔案後,Visual Studio 會為你開啟一個表單。 本節會展示如何更改某些表單屬性。

  1. 在你的專案中,選擇 Windows 表單設計器。 設計器標籤在 C# 上標示為 Form1.cs [Design],Visual Basic 則標示為 Form1.vb [Design]。

  2. 選擇表格, Form1。

  3. 屬性視窗 現在顯示表單的屬性。 這個視窗通常位於 Visual Studio 的右下角。 如果沒有看到 屬性,請選擇 「檢視>屬性視窗」。

  4. 在屬性視窗中找到 Text 屬性。 根據清單的排序方式,你可能需要往下滑。 輸入值 Math Quiz 至Text,然後按下Enter。

    你的表單標題欄現在有「 數學測驗 」這個字樣。

    備註

    你可以依類別或字母順序顯示物業。 使用 屬性 視窗上的按鈕來切換。

  5. 將表單尺寸改為寬 500 像素、高 400 像素。

    你可以拖曳邊緣或拖動握把來調整表單的大小,直到在屬性視窗中顯示正確的大小值。 拖曳控制點是一個位於表格右下角的小白色方形。 你也可以透過改變 Size 屬性的值來調整表單大小。

  6. 將 FormBorderStyle 屬性的值改為 Fixed3D,並將 MaximizeBox 屬性設為 False。

    這些數值防止測驗考生更改表單大小。

創建剩餘時間方塊

數學測驗右上角有一個方框。 那個方框顯示測驗剩餘的秒數。 這一節會教你如何使用該框的標籤。 你會在本系列後續的教學中加入倒數計時器的程式碼。

  1. 在 Visual Studio IDE 的左側,選擇 工具箱 標籤。如果你看不到工具箱,請從選單列選擇 「檢視>工具箱 」或 按 Ctrl+Alt+X。

  2. Label中選取控制項,然後拖曳到表單上。

  3. 在 屬性 欄位中,為標籤設定以下屬性:

    • 將 (Name) 設為 timeLabel。
    • 把 AutoSize 改成 False ,這樣你才能調整方塊大小。
    • 把 BorderStyle 改成 FixedSingle ,這樣可以畫出一條線繞著盒子。
    • 把 尺寸 設成 200、30。
    • 選擇 Text 屬性,然後點選 Backspace 鍵來清除 Text 值。
    • 選擇+字型屬性旁的加號,然後將大小設為 15.75。
  4. 將標籤移到表單的右上角。 當藍色間隔線出現時,用它們來定位表單上的控制項。

  5. 從工具箱新增另一個標籤控制項,然後將字體大小設為 15.75。

  6. 將此標籤的 Text 屬性設為 「剩餘時間」。

  7. 把標籤移到對齊 timeLabel 標籤的左邊。

    截圖顯示「剩餘時間」和剩餘時間標籤,控制項並排在表單右上角。

增加針對加法問題的控制項

測驗的第一部分是加法題。 本節會展示如何使用標籤來顯示這個問題。

  1. 從工具箱新增一個標籤控制項到表單。

  2. 在 屬性 欄位中,為標籤設定以下屬性:

    • 將 文字 設定為 ? (問號)。
    • 將 autoSize 設為 false。
    • 把 尺寸 設成 60、50。
    • 把字體大小設為 18。
    • 將 TextAlign 設為 MiddleCenter。
    • 將 位置 設定為 50、75 ,以調整表單上的控制鍵。
    • 將 (Name) 設為 plusLeftLabel。
  3. 在表單中,選擇你建立的 plusLeftLabel 標籤。 要複製標籤,請選擇編輯>複製 或使用 Ctrl+C。

  4. 在表單中,將標籤貼上三次,可透過選擇編輯>貼上或按下Ctrl+V鍵三次來操作。

  5. 將三個新標籤排列成一排,位於 plusLeftLabel 標籤的右側。

  6. 將第二個標籤的 Text 屬性設為 + (加號)。

  7. 將第三個標籤 的 (Name) 屬性設為 plusRightLabel。

  8. 將第四個標籤的 Text 屬性設為 = (等於符號)。

  9. NumericUpDown中的控制項加入表單。 你之後會學到更多關於這種控制的知識。

  10. 在屬性( Properties )欄位中,為 NumericUpDown 控制項設定以下屬性:

    • 把字體大小設為 18。
    • 在 MaximumSize 裡,將寬度設為 100。
    • 將 (Name) 設為 總和。
  11. 將 NumericUpDown 控制項與加法問題的 Label 控制對齊。

    截圖顯示數學測驗的第一行,標示清晰,並有一個帶有方向鍵的控制點顯示零。

新增減法、乘法與除法問題的控制

接著,為剩餘的數學題目在表單上加上標籤。

  1. 複製你為加法問題建立的四個 標籤 控制項和 NumericUpDown 控制項。 把它們貼到表格裡。

  2. 將新控制項移到加法控制下方。

  3. 在 屬性 框中,為新控制項設定以下屬性:

    • 將第一個問號標籤的 (名稱) 設為 minusLeftLabel。
    • 將第二個標籤的 文字 設定為 - (負號)。
    • 將第二個問號標籤的 (名稱) 設為 minusRightLabel。
    • 將 NumericUpDown 控制項的(名稱)設為差值。
  4. 複製加法控制項,再貼上兩次到表單裡。

  5. 第三排:

    • 將第一個問號標籤的 (名稱) 設為 timesLeftLabel。
    • 將第二個標籤的 文字 設定為 × (乘法符號)。 你可以複製這個教學的乘法符號,貼到表單上。
    • 將第二個問號標籤的 (名稱) 設為 timesRightLabel。
    • 將 NumericUpDown 控制項的(名稱)設為 product。
  6. 第四排:

    • 將第一個問號標籤的 (名稱) 設為 dividedLeftLabel。
    • 將第二個標籤的 文字 設定為 ÷ (除法符號)。 你可以從這個教學複製除法符號,貼到表單上。
    • 將第二個問號標籤的 (名稱) 設為 dividedRightLabel。
    • 將 NumericUpDown 控制項的(名稱)設為商。

截圖顯示一個數學測驗,有四排題目,標示和控制鍵,還有方向鍵。

新增開始按鈕並設定 Tab 鍵順序

本節會展示如何新增開始按鈕。 你也可以指定控制鍵的分頁順序。 這種排序決定了考題者如何透過 Tab 鍵從一個控制點移動到下一個控制點。

  1. Button中的控制項加入表單。

  2. 在 屬性 框中,設定按鈕的以下屬性:

    • 將 (Name) 設為 startButton。
    • 設定文字開始測驗。
    • 把字體大小設為 14。
    • 將 AutoSize 設為 True,按鈕會自動調整大小以符合文字大小。
    • 將 TabIndex 設為 0。 此值使開始按鈕成為第一個接收對焦的控制點。
  3. 將按鈕置中於表單底部附近。

    截圖顯示一個數學測驗,有四排題目和一個開始按鈕。

  4. 在 Properties 欄位中,設定每個 NumericUpDown 控制項的 TabIndex 屬性:

    • 將加和控制的 TabIndex 設為 1。
    • 將差值控制的 TabIndex 設為 2。
    • 將產品控制項的 TabIndex 設為 3。
    • 將商控制項的 TabIndex 設為 4。

執行您的應用程式

你的測驗上的數學題還不能使用。 你仍然可以執行應用程式檢查 TabIndex 值是否如你所預期。

  1. 請使用以下其中一種方法來儲存您的應用程式:

    • 選擇 Ctrl+Shift+S。
    • 在選單列中,選擇「全部儲存>」。
    • 在工具列上,選擇 「全部儲存 」按鈕。
  2. 請使用以下其中一種方法來執行您的應用程式:

    • 選取 F5。
    • 在選單列中,選擇除錯>開始除錯。
    • 在工具列上,選擇 開始 按鈕。
  3. 連續按幾次 Tab 鍵,可以看到焦點如何從一個控制點移動到下一個。

後續步驟

繼續進入下一個教學,加入隨機數學題目和事件處理程式到你的數學測驗中。