0

所以我正在处理我的第一个大型 C# 项目,目前正在尝试执行以下操作。屏幕上是一个红色刺激,点击五次后必须发出一个事件。假设在这种情况下显示一个 MessageBox。我知道如何让 MessageBoxes 在单击按钮时显示信息,但是,如前所述,我希望在单击五次后显示此信息。我已经在互联网上搜索了几个星期,但没有找到任何合适的东西。

这是我的代码,单击刺激物只需单击一下即可生成 MessageBox。

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

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

注意我只包括了面板和刺激。我的程序中的所有其他代码均未包含在内。

提前感谢您的帮助!

4

2 回答 2

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();
  }
}
于 2012-04-09T06:00:04.287 回答
0

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

int numClicks = 0;

private void pictureBox1_Click(object sender, EventArgs e)
{
    if (numClicks >= 5)
    {
        MessageBox.Show("Clicking once");
        numClicks = 0;
    }
    else
        numClicks++;
}
于 2012-04-09T06:01:48.300 回答