Zähler implementieren in C#

Haider Ali 12 Oktober 2023
Zähler implementieren in C#

In diesem Handbuch erfahren Sie, wie Sie in C# mithilfe von zwei Schaltflächen einen Inkrement- und Dekrementzähler erstellen. Zum Beispiel, wenn es zwei Knöpfe gibt, A und B.

Durch Drücken von A und B sollte der Zähler erhöht bzw. durch Drücken von A und B verringert werden. Lassen Sie uns in diesen Leitfaden eintauchen und uns selbst lernen.

Zähler in C# implementieren

Bei diesem Problem benötigen wir zwei Variablen. Erstens brauchen wir eine Variable für den Zähler, und zweitens brauchen wir eine, um die letzte gedrückte Taste zu überprüfen.

Mal sehen, wie wir das machen werden. Zuerst müssen wir Event-Delegates erstellen, also sollte ein bestimmtes Event eintreten, wenn auf eine Schaltfläche geklickt wird.

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;
    }
  }

}

Im obigen Code haben wir zwei Schaltflächen erstellt und Event-Delegates zugewiesen. Die Funktion Button_A_Click wird immer dann ausgeführt, wenn auf einen buttonA geklickt wird.

Als nächstes brauchen wir zwei Variablen. Schau mal.

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

LastPressed verfolgt, welche Taste zuletzt gedrückt wurde, und der Zähler verfolgt die Inkrementierung und Dekrementierung. Das nächste, was wir brauchen, sind zwei Funktionen, die all dies verfolgen.

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;
  }
}

Wenn buttonA angeklickt wird, prüft das Programm den Wert in LastPressed. Wenn es buttonB ist, wird der Zähler dekrementiert; wenn es nichts ist, wird buttonA dem LastPressed zugewiesen.

Dasselbe gilt für buttonB; wenn LastPressed A wäre, würde es den Zähler erhöhen; andernfalls wird buttonB zugewiesen. So erstellen Sie ein Programm zum Inkrementieren und Dekrementieren eines Zählers in C#.

Das Folgende ist der vollständige Code.

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;
      }
    }
  }

}
Autor: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn