如何设置标签的内容并在c#winforms中将其重置为string.empty 5秒钟后?

gal*_*lie 0 c# timer winforms

我不知道如何做到这一点,我已经尝试搞乱计时器但到目前为止无济于事.

那我该怎么办呢?

我有一个空白的标签.当某个事件被触发时,我希望标签在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;
        }
Run Code Online (Sandbox Code Playgroud)

bas*_*bas 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();
    }
Run Code Online (Sandbox Code Playgroud)

首先将标签设置为您希望其显示的任何文本,持续5秒

        label1.Text = "I will vanish in 5 sec";
Run Code Online (Sandbox Code Playgroud)

然后设置您的计时器,以便在计时器过去时它将删除文本

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

如果您希望计时器在第一个计时器过去后停止:

        timer.Tick += (o, args) =>
            {
                label1.Text = "";
                timer.Enabled = false;
            };
Run Code Online (Sandbox Code Playgroud)