| 
          
            □投稿者/ cielo (1回)-(2011/08/31(Wed) 17:10:01)
              | ■61727 / inTopicNo.1) | 一時的にイベントを無効にしたい |  
 
          
            
              
                |  | 分類:[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;
 }
 }
 
 
 |  |