如何在c#winforms中设置标签的内容,并在5秒后将其重置为字符串.空

本文关键字:5秒 字符串 并在 c#winforms 设置 标签 | 更新日期: 2023-09-27 17:58:46

我真的不知道如何做到这一点,我试过扰乱计时器,但到目前为止没有效果。

那么我想做什么呢?

我有一张空白的标签。当某个事件被触发时,我希望标签在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;
        }

如何在c#winforms中设置标签的内容,并在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;
            };

确保您使用的是System.Windows.Forms.Timer类,该类调用UI线程上的tick事件。