0

これに対する答えをどこかで見たことは知っていますが、見つけることができました。

基本的に、ユーザーが時刻を選択してアプリケーションを実行できるアプリケーションがあります。バックアップアプリケーションの一種です。

スケジュールされたタスクを避けようとしているので、それを念頭に置いてタイマーを使用しています。私が抱えている問題は、標準の時間形式 IE : hh:mm を使用して、それをタイマーのミリ秒に変換できることです。または私が推測するより良い言い方:

ユーザーが選択した時間をアプリケーションに識別させます。現在の時刻と最初のeplapse_eventの選択された時刻の間の時間をカウントし、ユーザーが選択した時刻に実行されるイベントの発生後にタイマーを作成します。

繰り返しますが、ここまたは別のサイトで優れた例があったものを見たのを覚えています...しかし、どこにも見つかりません。

Visual Studio 2012 で winforms C# を使用しています

timer1.Elapsed += new ElapsedEventHandler(timer1_Elapsed);
        timer1.Interval = inter * 1000 * 60;
        timer1.Enabled = true;
        timer1.Start();
4

1 に答える 1

0

1 日の特定の時間にタスクを実行するように、スケジュールされたタスクを構成できます。

タスクから ac# アプリケーションを実行できます。


スケジュールされたタスクを使用したくない場合は、次のようにすることができます
。 1. 特定の時刻と現在の時刻の差に間隔を設定します。
2. タイマーが最初に起動されるとき、間隔を 86400 秒に設定します。

var time = DateTime.Now.Date.AddHour(16).AddMinute(40)// if timer it to be executed at 16:40
var timespan = time - DateTime.Now;
var interval = timespan.TotalSeconds;
if (interval < 0) interval = interval + 86400;

timer1_Elapsed

if (timer1.Interval != 86400) timer1.Inverval = 86400
于 2013-11-06T04:03:52.633 に答える