2012-03-21 7 views
-2

こんにちは私は、データベースを更新し、5秒以上そこにいる場合、没収するようにカードを設定するためにC#でタイマオブジェクトを使用しようとしています。私は少し問題があります。まず最初の最初の、あなたのタイマーの間隔を設定することはありませんしているC#のタイマ機能ATMシミュレータ

private void timer1_Tick(object sender, EventArgs e) 
{ 
    if (seconds > 5) 
    { 
     timer1.Enabled = false; 
     MessageBox.Show("Card NOT removed in time: CONFISCATED"); 
     login.cardConfiscated(cardNumber); 
     login.Visible = true; 
     this.Close(); 
    } 
} 

private void Form1_load(object sender, EventArgs e) 
{ 
    timer1.Enabled = true; 
} 

public void cardConfiscated(string number) 
{ 
    atmCardsTableAdapter1.confiscated(number); 
    atmCardsTableAdapter1.FillByNotConfiscated(boG_10033009DataSet.ATMCards); 
} 
+2

ここで、「秒」は定義されていますか?宿題のためですか? –

+3

また、あなたには何の問題があるのか​​を述べるべきです(「少し」を超えて)。 –

+0

秒の変数が作成されていないか、どこにでもインクリメントされています。問題を解決するために必要なコードがありません。 – deltree

答えて

0

の下に私のコードを掲載します。私たちは複数回のタイマーを呼び出す必要はありませんように、5秒が経過すると、私たちはジューシーなものにスキップすることができ、上記の5秒間隔をやってる

private void Form1_load(object sender, EventArgs e) 
{ 
    timer1 = new Timer(5000); // sets interval to 5 seconds 
    timer1.Elapsed += new new ElapsedEventHandler(timer1_Tick); 
    timer1.Start(); 
} 

private void timer1_Tick(object sender, EventArgs e) 
{ 
    timer1.Stop(); 
    MessageBox.Show("Card NOT removed in time: CONFISCATED"); 
    login.cardConfiscated(cardNumber); 
    login.Visible = true; 
    this.Close(); 
} 

最後に、あなたはタイマーが短い間隔を持っている場合、その後、あなたがたとえば、あなた秒をインクリメントする必要があることに注意する必要があります。

private void Form1_load(object sender, EventArgs e) 
{ 
    timer1 = new Timer(1000); // sets interval to 1 second 
    timer1.Elapsed += new new ElapsedEventHandler(timer1_Tick); 
    timer1.AutoReset = true; // sets the timer to restart after each run 
    timer1.Start(); 
} 

その後、私たちはあなたのように、秒にそれぞれ間隔をインクリメントする必要があるだろうした。

private void timer1_Tick(object sender, EventArgs e) 
{ 
    seconds++; 
    if (seconds > 5) 
    { 
     timer1.Stop(); 
     MessageBox.Show("Card NOT removed in time: CONFISCATED"); 
     login.cardConfiscated(cardNumber); 
     login.Visible = true; 
     this.Close(); 
    } 
}