0

だから私は私の最初の大きな C# プロジェクトに取り組んでおり、現在次のことをしようとしています。画面には赤い刺激があり、5 回クリックするとイベントが発生します。この場合、MessageBox を表示するとします。ボタンのクリックで MessageBoxes に情報を表示する方法は知っていますが、前述のように、これは 5 回のクリック後に表示されるようにしたいと考えています。私は何週間もインターネットを探し回ってきましたが、適切なものが見つかりませんでした.

刺激をクリックすると、1回のクリックで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 に答える