在 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;
}
}
}
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。