透明标签倒计时闪烁
本文关键字:闪烁 倒计时 标签 透明 | 更新日期: 2023-09-27 18:30:38
我正在尝试做一个具有透明度的自定义标签类,我搜索了很多关于这个的文章,但我的情况不同,因为我正在尝试用透明标签进行倒计时,然后当我使用下面的示例代码时成功闪烁。我使用间隔设置为 100 的计时器,然后更改文本自定义标签。我不知道刷新时我该怎么做才能获得更好的性能,知道吗?
class CustomLabel : Label
{
public CustomLabel()
{
this.SetStyle(ControlStyles.Opaque, true);
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, false);
}
protected override System.Windows.Forms.CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x20;
return cp;
}
}
public override string Text
{
get
{
return base.Text;
}
set
{
base.Text = value;
RecreateHandle();
}
}
}
它因为 RecreateHandle() 调用而闪烁。 这将重新创建本机Windows窗口,当您看到旧窗口被破坏并创建新窗口时,闪烁是不可避免的。 只需删除呼叫,就没有必要。
并且不要忘记利用 Label 控件中对透明度的内置支持。