私は、文字列を検索し、三つの可能なシナリオを持っているWindowsフォームアプリケーションを作成しようとしているの前に発射される: - 待ってい タイマーが経過間隔
- 文字列1を停止しますエルス
- - 私はそれを待つことが予想される時間に私の問題に遭遇していますアクションを実行し、1分
を待ちます。これが起こると、newTimer_Tickは1秒ごとにチェックを開始します。私はそれが目立つといくつかの他のものがタイマーを無効にしようとしましたが、誰も動作するように見えませんでした。以下はコードです
public void Action(string result)
{
if (result.Contains("string1"))
{
// Check again in 10 + x seconds
int n = new Random().Next(0, 5000);
int newtime = 10000 + n;
newTimer.Tick += new EventHandler(newTimer_Tick);
newTimer.Interval = newtime;
newTimer.Enabled = true;
}
else if (result.Contains("string2"))
{
// Turn off
newTimer.Enabled = false;
}
else
{
// Perform action and tick again in 1min + x seconds
action1();
int n = new Random().Next(0, 5000);
int newtime = 600000 + n;
newTimer.Tick += new EventHandler(newTimer_Tick);
newTimer.Interval = newtime;
newTimer.Enabled = true;
}
}
private void newTimer_Tick(object sender, EventArgs e)
{
Action(result);
}
何が間違っていますか?
インターバル値は何秒ごとに発生しますか? –
intではなく、時刻の値を表現したいときは 'TimeSpan'を使います。あなたは単位のあいまいさを避けるでしょう。(秒、ミリ秒、時間、ダニ、...?) – jv42