2012-05-01 77 views
2

私はWindowsフォームアプリケーションを作成しようとしています。エラー: 'Timer'は 'System.Windows.Forms.Timer'と 'System.Timers.Timer'のあいまいな参照です

public void timerStart() 
    { 
     DateTime now = DateTime.Now; 
     DateTime finish = base.taskEndDate; 
     finish = finish.AddHours(_appointmentTime.Hours); //_appointmentTime is a user defined value. 
     finish = finish.AddMinutes(_appointmentTime.Minutes); 
     finish = finish.AddMilliseconds(_appointmentTime.Milliseconds); 

     //Calculating the milliseconds left till task ends. 
     int daysLeft = finish.Day - now.Day; 
     int hoursLeft = finish.Hour - now.Hour; 
     int minsLeft = finish.Minute - now.Minute; 
     int secLeft = finish.Second - now.Second; 
     int milLeft = finish.Millisecond - now.Millisecond; 

     //Preparing to Start the timer. 
     TimeSpan end = new TimeSpan(daysLeft, hoursLeft, minsLeft, secLeft, minsLeft); 
     MessageBox.Show(end.ToString()); 
     double x = end.TotalMilliseconds; 
     System.Timers.Timer _timer = new Timer(x);   

    } 

は私が私のメソッドを定義しているが、私は

'Timer' is an ambiguous reference between 'System.Windows.Forms.Timer' and 'System.Timers.Timer' 

エラーが発生すると私は、エラーを解決する方法がわからないよ方法です。タイマーが終了すると、私はユーザーに警告するイベントを作成する予定です。私はタイマーをフォームに表示したくありません。

答えて

6

usingSystem.Windows.FormsSystem.Timers)の両方の参照が追加されているようです。だから、どちらか一方を削除するか、完全にタイプ名資格:

System.Timers.Timer _timer = new System.Timers.Timer(x); 
2

でSystem.Timers.Timer _timer =新でSystem.Timers.Timerを(X);

タイマーはフォームに表示されず、視覚的に表示されません。

また、DNFの(3つの)異なるタイプのタイマーの違いに注意してください。

http://msdn.microsoft.com/en-us/magazine/cc164015.aspx

5

あなたはこのように、型の別名を使用してそれらを明確にすることができます

using System.Timers; 
using Timer = System.Timers.Timer; 
関連する問題