為什麼學 WinForms?
學完 C# 基礎語法,很多同學問我:「那我要怎麼做出一個有畫面的程式?」
WinForms 是最快的答案。不需要前端知識,不需要 HTML/CSS,直接拖拉元件就能做出視窗程式。
建立專案
1. 開啟 Visual Studio 2. 新增專案 → Windows Forms App (.NET) 3. 專案名稱:BmiApp
設計介面
從工具箱拖出: - 2 個 Label(身高、體重) - 2 個 TextBox(輸入欄位) - 1 個 Button(計算) - 1 個 Label(顯示結果)
雙擊 Button 進入程式碼編輯器。
撰寫邏輯
private void btnCalculate_Click(object sender, EventArgs e)
{
// 取得輸入值
if (!double.TryParse(txtHeight.Text, out double height) ||
!double.TryParse(txtWeight.Text, out double weight))
{
lblResult.Text = "請輸入有效的數字";
lblResult.ForeColor = Color.Red;
return;
}
// 計算 BMI(身高要轉換成公尺)
double heightM = height / 100;
double bmi = weight / (heightM * heightM);
// 判斷結果
string status = bmi switch
{
< 18.5 => "體重過輕",
< 24.0 => "正常範圍",
< 27.0 => "體重過重",
_ => "肥胖"
};
lblResult.Text = $"BMI:{bmi:F1}({status})";
lblResult.ForeColor = Color.Black;
}幾個重點
TryParse vs Parse:用 TryParse 避免使用者輸入文字時程式崩潰,這是好習慣。
switch expression:C# 8.0 之後的語法,比傳統 if-else 更簡潔。
:F1:格式化字串,F = 浮點數,1 = 保留 1 位小數。
下一步
BMI 計算機只是開始。學會之後可以試試: - 加入清除按鈕(重置輸入欄位) - 用 MessageBox 顯示結果 - 做一個簡單的帳號登入畫面