タイマー

2017/12/18

 タイマーで100ミリ秒ごとに更新する簡単なデジタル時計を… と思って、C#で作ってみたんですが、どうももたつくようです。100ミリ秒単位なので、時刻のずれは(パソコンの時刻のずれを除いて)起こらないハズなんですが…。たまに時刻表示が固まってしまうことがあります。
うーん、参ったなー、これがうまくいけば、C#に完全に移行できるのに。
 無理せずにDelphiと使い分けろということかな(個人的にはまず、C#の作品を最低一個公開したいんですが…)。SNTPの操作なんかが格段に簡単になりそうだし、アクセサリーのことなどを考えると、あんまりDelphiにしたくないんですが、この際は仕方ないかな。
 もしかしたら…いや、たぶん何らかの原因があるんでしょうけど。画面にあうように調整する処理*1には100ミリ秒もかかるとはとても思えないし、GDI+の内部処理?うーん、なさそうな・・・。

 最近どうもシステムの時計自体がおかしい(わずか一分で数秒ずれてることがあります(/_;))ので、そのせいかもしれませんけど。
逆にこのソフトが原因だったりしたら困るな*2(^_^;

*1:http://park16.wakwak.com/~mimi/dotnet/ より、Graphics.ScaleTransformメソッドでスケールを指定する

*2: .NETのDateTime.Nowを使うと、その間タイマーの動きが止まってしまうとか