■61727 / inTopicNo.1) |
一時的にイベントを無効にしたい |
□投稿者/ cielo (1回)-(2011/08/31(Wed) 17:10:01)
|
分類:[C#]
cieloと申します。よろしくお願いします。 環境『XP/SP3 VisualC#2008』
http://www.yukun.info/blog/2008/02/csharp-timer.html 上記のサイト様を参考にカウントダウンタイマーを作っています。
タイマーをスタートさせたら、カウントダウン中はtimelabel_MouseWheelとtimelabel_MouseClickの2つを 無効にしたいと思っています。
上記の事を実現させるには、どのようなやり方がありますでしょうか? 分かり難いとは思いますが、ご教授お願い致します。
以下コードです。
private void startbtn_Click(object sender, EventArgs e) { if (0 == sec) return;
timer1.Enabled = true; this.startbtn.Enabled = false; }
private void timer1_Tick(object sender, EventArgs e) { sec--; if (0 == sec) { MessageBox.Show("時間になりました。"); timer1.Enabled = false; this.Activate(); this.startbtn.Enabled = true; } viewtime(); }
int sec = 0; // 計測時間
private void viewtime() { timelabel.Text = "" + sec / 36000 % 10 + sec / 3600 % 10 + ":" + sec / 600 % 6 + sec / 60 % 10 + ":" + sec / 10 % 6 + sec % 10; }
private void timelabel_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e) { if (e.Delta > 0) { sec += 60; viewtime(); } else { sec += 10; viewtime(); } }
private void timelabel_MouseClick(object sender, MouseEventArgs e) { timelabel.Text = "00:00:00"; sec = 0; } }
|
|