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