首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C# WinForm 簡單加法器:事件綁定位置錯誤導致計算失效

     編輯:程式設計疑難解答

問題現象

初學者編寫 WinForm 加法程序,將計算邏輯放在 Form_Load 事件中,導致程序啟動時輸入框為空,計算結果為 0 或異常;後續用戶輸入數字並點擊按鈕時無任何反應。

錯誤原因分析

  • Form_Load:窗體加載時觸發,此時文本框尚未接受用戶輸入,直接讀取值為空或初始值。
  • Button_Click:用戶點擊按鈕時觸發,此時文本框已包含用戶輸入的數值,是執行計算的正確時機。

正確代碼結構

public partial class Form1 : Form {
    public Form1() {
        InitializeComponent();
    }

    // 按鈕點擊事件處理器
    private void btnCalculate_Click(object sender, EventArgs e) {
        // 1. 獲取輸入並驗證
        if (double.TryParse(txtNum1.Text, out double a) &&
            double.TryParse(txtNum2.Text, out double b)) {
            // 2. 計算
            double c = a + b;
            // 3. 顯示結果
            txtResult.Text = c.ToString();
        } else {
            MessageBox.Show("請輸入有效數字!");
        }
    }
}

操作步驟

  1. 在設計器中雙擊按鈕,自動生成 btnCalculate_Click 事件方法。
  2. 將計算邏輯移入該方法內。
  3. 刪除 Form_Load 中的計算代碼。

進階提示

  • 使用 TryParse 避免異常拋出,提升健壯性。
  • 可添加 KeyPress 事件限制文本框只能輸入數字和小數點。
  • 後續學習可將邏輯提取到單獨類中,實現 UI 與業務分離。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved