HOWTO · Csharp

在 C# 中實現計數器

在本指南中,我們將瞭解如何使用兩個按鈕在 C# 中建立遞增和遞減計數器。

在本指南中,我們將瞭解如何使用兩個按鈕在 C# 中建立遞增和遞減計數器。例如,如果有兩個按鈕,A 和 B。

按 A 和 B 應該增加計數器,按 A 和 B 應該分別減少計數器。讓我們深入研究本指南並學習自己。

C# 中實現計數器

在這個問題中,我們需要兩個變數。首先,我們需要一個計數器變數,其次,我們需要一個檢查最後按下的按鈕。

讓我們看看我們將如何做到這一點。首先,我們需要建立事件委託,因此每當單擊按鈕時都會發生特定事件。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace counter {
  class MyForm : Form {
    // Window  From Code
    Button buttonA;
    Button buttonB;

    void InitializeComponent() {
      buttonA.Clicked += Button_A_Click;  // btn_Clicked Event.. delgates..
      buttonB.Clicked += Button_B_Click;
    }
  }

}

在上面的程式碼中,我們製作了兩個按鈕並分配了事件委託。每當單擊 buttonA 時,函式 Button_A_Click 將執行。

接下來,我們需要有兩個變數。看一看。

Button LastPressed = null;  // Track which button was last pressed.
int counter = 0;            // initializing Counter Value

LastPressed 將跟蹤最後按下的按鈕,計數器將跟蹤遞增和遞減。接下來我們需要有兩個函式來跟蹤這一切。

void Button_A_Click(object source, EventArgs e) {
  if (LastPressed == buttonB)  // verifying which button is being pressed.
  {
    // button B was pressed first, so decrement the counter
    --counter;  // decrementing...
    // reset state for the next button press
    LastPressed = null;  // again button set to null for next tracking..
  } else {
    LastPressed = buttonA;  // assging which button was pressed.
  }
}

void Button_B_Click(object source, EventArgs e) {
  if (LastPressed == buttonA) {
    // buttonA was pressed 1st, so increment the counter
    ++counter;
    // reset state for the next button press
    LastPressed = null;
  } else {
    LastPressed = buttonB;
  }
}

如果點選 buttonA,程式將檢查 LastPressed 中的值。如果是 buttonB,計數器將遞減;如果沒有,buttonA 將被分配給 LastPressed

buttonB 也是如此;如果 LastPressed 是 A,它將增加計數器;否則,將分配 buttonB。這就是你如何在 C# 中編寫一個遞增和遞減計數器的程式。

以下是完整程式碼。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace counter {
  class MyForm : Form {
    // Window  From Code
    Button buttonA;
    Button buttonB;

    void InitializeComponent() {
      buttonA.Clicked += Button_A_Click;  // btnB_Clicked Event.. delgates..
      buttonB.Clicked += Button_B_Click;
    }

    Button LastPressed = null;  // Track which button was last pressed.
    int counter = 0;            // initializing Counter Value

    void Button_A_Click(object source, EventArgs e) {
      if (LastPressed == buttonB)  // verifying which button is being pressed.
      {
        // button B was pressed first, so decrement the counter
        --counter;  // decrementing...
        // reset state for the next button press
        LastPressed = null;  // again button set to null for next tracking..
      } else {
        LastPressed = buttonA;  // assging which button was pressed.
      }
    }

    void Button_B_Click(object source, EventArgs e) {
      if (LastPressed == buttonA) {
        // buttonA was pressed 1st, so increment the counter
        ++counter;
        // reset state for the next button press
        LastPressed = null;
      } else {
        LastPressed = buttonB;
      }
    }
  }

}