C#闪烁标签类

C#闪烁标签类,c#,label,blink,C#,Label,Blink,我试图创建一个类,使一个特定的文本框闪烁。我的代码如下: class Blink { int BlinkCount = 0; public void Text(Label Info, string Message) { Timer tmrBlink = new Timer(); tmrBlink.Interval = 250; tmrBlink.Tick += new System.EventHandler(tmrBlin

我试图创建一个类,使一个特定的文本框闪烁。我的代码如下:

class Blink
{
    int BlinkCount = 0;

    public void Text(Label Info, string Message)
    {
        Timer tmrBlink = new Timer();
        tmrBlink.Interval = 250;
        tmrBlink.Tick += new System.EventHandler(tmrBlink_Tick);
        tmrBlink.Start();
        Info.Text = Message;
    }

    private void tmrBlink_Tick(object sender, EventArgs e)
    {
        BlinkCount++;

        if (Info.BackColor == System.Drawing.Color.Khaki)
        {
            Info.BackColor = System.Drawing.Color.Transparent;
        }
        else
        {
            Info.BackColor = System.Drawing.Color.Khaki;
        }

        if (BlinkCount == 4)
        {
            tmrBlink.Stop();
        }
    }
}
其想法是,如果我键入以下代码,所选标签将闪烁以吸引用户的注意:

Blink.Text(lblControl, "Hello World!"); 

这对我来说很好

Blink b = new Blink();
b.Text(label1, "Hello World");


class Blink
{
    int BlinkCount = 0;
    private Label _info;
    private Timer _tmrBlink;

    public void Text(Label info, string message)
    {
        _info = info;
        _info.Text = message;
        _tmrBlink = new Timer();
        _tmrBlink.Interval = 250;
        _tmrBlink.Tick += new System.EventHandler(tmrBlink_Tick);
        _tmrBlink.Start();
    }

    private void tmrBlink_Tick(object sender, EventArgs e)
    {
        BlinkCount++;

        if (_info.BackColor == System.Drawing.Color.Khaki)
        {
            _info.BackColor = System.Drawing.Color.Transparent;
        }
        else
        {
            _info.BackColor = System.Drawing.Color.Khaki;
        }

        if (BlinkCount == 4)
        {
            _tmrBlink.Stop();
            BlinkCount = 0;
        }
    }
}

您使用的是winforms还是WPF?那么,问题是什么?我也看不到任何问题。少了一堆东西。您需要订阅标签的Disposed事件。当闪烁停止时,无论是因为标签已释放还是闪烁已完成,您都需要取消订阅事件并释放计时器。抱歉,问题是它不起作用。您应该解释您所做的哪些更改修复了此问题。如果这只是一条注释,说明它的工作原理与写给您的一样,那么这应该是一条注释,而不是回答哦,我没有在顶部声明控件。谢谢,你们真快!