在指定的点击次数后触发事件

时间:2012-04-09 05:54:00

标签: c#

所以我正在开展我的第一个大型C#项目,目前正在尝试执行以下操作。在屏幕上是一个红色刺激,点击五次后必须发出一个事件。让我们说在这种情况下显示一个MessageBox。我知道如何让MessageBoxes显示按钮点击的信息,但是,如上所述,我想要在点击五次后显示这个信息。我已经连续几周在互联网上搜索,但没有找到合适的东西。

以下是我点击刺激的代码,只需点击一下即可生成MessageBox。

private void AutoSPanel_Paint(object sender, PaintEventArgs e)
{
}

private void pictureBox1_Click(object sender, EventArgs e)
{
    MessageBox.Show("Clicking once"); 
}

注意我只包括小组和刺激计划。我的程序中的所有其他代码都没有包含在内。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

你可以试试这个例子:

private int counter = 0;
public event EventHandler Clicked5TimesEvent;

private void OnClicked5TimesEvent() {
  if (Clicked5TimesEvent != null) {
       Clicked5TimesEvent(this, EventArgs.Empty);
  }
}

private void button1_Click(object sender, EventArgs e) {
  counter++;
  if (counter % 5 == 0) {
      OnClicked5TimesEvent();
  }
}

答案 1 :(得分:0)

您可以使用全局计数器实现此目的:

int numClicks = 0;

private void pictureBox1_Click(object sender, EventArgs e)
{
    if (numClicks >= 5)
    {
        MessageBox.Show("Clicking once");
        numClicks = 0;
    }
    else
        numClicks++;
}