0

私はWindowsフォームアプリケーションに取り組んでいます。デフォルトでラベルが false に設定されている Windows フォームがあります。プロパティを 10 秒間表示してから falseに設定したいと考えています。trueタイマー コントロールをドラッグし、間隔を 1000 ミリ秒、つまり 1 秒に設定し、フォーム ロード イベントにコードを記述しました。

    timer1.Start();
    if (timer1.Interval == 5000)
    {            
        timer1.Stop();
    }

しかし、それは に表示されるラベルを設定していませんfalse。なんで?

タイマーがいつ開始され、いつ5秒になり、ラベルがfalseに設定されるように、どのイベントでこのコードを起動する必要がありますか? それはC#で可能ですか?

4

4 に答える 4

2

このタイマーには 1 つのイベントしかありません ->tick処理する必要があります

timer1.Interval = 5000;
timer1.Tick += new EventHandler(timer1_Tick);
label1.Visible = true;
timer1.Start();


  private void timer1_Tick(object sender, EventArgs e)
  {
     label1.Visible = false;
  }
于 2013-01-06T12:42:19.133 に答える
2

以下のコードを確認してください。

    private void Form1_Load(object sender, EventArgs e)
    {
        timer1.Interval = 10000;
        timer1.Tick += new System.EventHandler(this.timer1_Tick);
        label1.Visible = true;
        timer1.Start();
    }


    private void timer1_Tick(object sender, EventArgs e)
    {
        timer1.Stop(); //If timer is not stopped, timer1_Tick event will be called for every 10 seconds
        label1.Visible = false;
    }
于 2013-01-06T13:35:32.267 に答える
0

Windows Formsを使用している場合は、タイマーをダブルクリックして、コード ビハインドでこの関数を取得する必要があります。

private void timer1_Tick(object sender, EventArgs e) 

この関数でラベルの可視性を変更してみてください。うまくいくはずです。

于 2013-01-06T12:52:45.427 に答える
0

このステートメントを使用しました:

 Label1.Visible = false

Label1の属性に問題があると思います。

于 2013-01-06T12:59:26.490 に答える