質問

私は、スレッド関連のだと思ったバグを追跡しようとしてきたが、私が代わりに私がOpenNETCFのストップウォッチを使用しています方法に問題があると思います。私はAに直接 OpenNETCF.IoC の私のアプリケーションではなく、単純化のために、私が移動し、次のコードを使用していますビューます:

public partial class WorkoutView : SmartPart
{
 ...
 private Stopwatch stopwatch; 
 public WorkoutView()
 {  ...
    stopwatch = new Stopwatch();
    stopwatch.Reset();
    stopwatch.Start(); 

    WorkoutDisplayTimer = new Timer();
    WorkoutDisplayTimer.Interval = 500;
    WorkoutDisplayTimer.Tick += new EventHandler(WorkoutDisplayTimer_Tick);
    WorkoutDisplayTimer.Enabled = true;
 }
 void WorkoutDisplayTimer_Tick(object sender, EventArgs e)
 { ...
   stopwatch.Stop();
   lbl.Text = stopwatch.ElapsedTicks.ToString() + "NOT WORKING: " + stopwatch.Elapsed.ToString();
   stopwatch.Start();
  }
  ...
}

ロングストーリーショートは、デバッガでストップウォッチを見て、これまでに更新されますのみ値がElapsedTicks、mElapsed、mStartPerfCountです。それ以外は常にゼロです。この予想される動作はありますか?私はストップウォッチ計算経過構造体を持っているために、追加のメソッドを呼び出す必要がありますか? (注:stopwatch.ElapsedMillisecondsもゼロである)

役に立ちましたか?

解決

うん、それが特異的Stopwatch.csで、バグのように見える、ライン136ます。

これが現在読み込みます:

smFreqInTicks = (MILLIS_IN_TICKS * 1000) / freq;

それは次のようになります。

smFreqInTicks = (MILLIS_IN_TICKS * 1000d) / freq;

今smFreqInTicks端にあなたが探している値を殺す常にあることゼロ、最高ます。

他のヒント

なぜCompact Frameworkの自体にバージョンを使用していませんか?これは、バージョン3.5以降から、そこをにあります...

scroll top