0

私はこれをどのように行うのか本当の考えがなく、タイマーをいじってみましたが、今のところ役に立ちません。

だから私は何をしようとしていますか?

空白のラベルがあります。特定のイベントがトリガーされたときに、ラベルに「コンペティションが正常にセットアップされました」と5秒間表示してから、空白に戻します。

確かにこれはできますか?それをできる?私はタイマーで遊んだことがありますが、私はマークからかなり外れているようです。

どんな助けでも大歓迎です。私の弱い試みは以下の通りです。

private void UpdateLabel(object sender, EventArgs e)
        {
            var timer = new Timer()
                {
                    Interval = 5000,
                };
            timer.Tick += (s, evt) =>
                  lblCompetitionSetupSuccess.Text = "Competition successfully setup";

            timer.Start();

            lblCompetitionSetupSuccess.Text = string.Empty;
        }
4

2 に答える 2

5

逆の方法を試してください:

    private void button1_Click(object sender, EventArgs e)
    {
        label1.Text = "I will vanish in 5 sec";

        var timer = new Timer();
        timer.Interval = 5000;
        timer.Tick += (o, args) => label1.Text = "";
        timer.Start();
    }

最初に、5秒間表示したいテキストにラベルを設定します

        label1.Text = "I will vanish in 5 sec";

次に、タイマーが経過するとテキストが削除されるようにタイマーを設定します

        var timer = new Timer();
        timer.Interval = 5000;
        timer.Tick += (o, args) => label1.Text = "";
        timer.Start();

最初のタイマーが経過した後にタイマーを停止する場合:

        timer.Tick += (o, args) =>
            {
                label1.Text = "";
                timer.Enabled = false;
            };
于 2013-02-10T21:10:51.307 に答える
1

System.Windows.Forms.TimerUI スレッドで tick イベントを呼び出すクラスを使用していることを確認してください。

于 2013-02-10T21:09:13.183 に答える