再次调整大小的另一个问题与其他许多其他问题一样,我使用CreateParams方法设置透明标签,所有内容看起来都非常棒,除非在窗体重新调整大小时消失!调整大小时透明标签消失
任何人有任何想法?控制在那里,但文字不显示,如果我最小化的形式,然后恢复它显示!
public class TransparentLabel : Label
{
public TransparentLabel()
{
this.SetStyle(ControlStyles.Opaque, true);
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, false);
}
protected override CreateParams CreateParams
{
get
{
CreateParams parms = base.CreateParams;
parms.ExStyle |= 0x20; // Turn on WS_EX_TRANSPARENT
return parms;
}
}
protected override void OnPaintBackground(PaintEventArgs e)
{
if (base.BackgroundImage == null)
{
e.Graphics.DrawRectangle(new System.Drawing.Pen(this.BackColor, 1), e.ClipRectangle);
}
else
{
base.OnPaintBackground(e);
}
}
}
这可能与你的[其它问题](HTTP://计算器。 COM/q /719186分之9377337)。你的表单很可能泄露资源。上面的示例代码本身不会重现问题。 – LarsTech 2012-02-21 13:38:24
@LarsTech谢谢你,我刚才发现,但我不知道它在哪里泄漏资源。对不起重新短语说,GDI对象始终停留在85,但我从某处泄漏内存 – Neo 2012-02-21 14:18:23
我想出内存泄漏是报告查看器已被解决。仍然不知道为什么标签消失:( – Neo 2012-02-27 15:10:38