.net控件Control透明

public partial class tspControl : UserControl
{
public tspControl()
{
InitializeComponent();
SetStyle(ControlStyles.SupportsTransparentBackColor
| ControlStyles.UserPaint
| ControlStyles.AllPaintingInWmPaint
| ControlStyles.Opaque, true);
this.BackColor = Color.Transparent;
}
private Image img;
public Image Image
{
get
{
return img;
}
set
{
img = value;
}
}
protected override void OnLocationChanged(EventArgs e)
{
//base.OnLocationChanged(e);
Visible = false;
Visible = true;
}
protected override CreateParams CreateParams
{
get
{
//return base.CreateParams;
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x00000020; //WS_EX_TRANSPARENT
return cp;
}
}
protected override void OnPaint(PaintEventArgs pe)
{
if (img != null)
{
base.OnPaint(pe);
pe.Graphics.DrawImage(img, 0, 0);
}
else
{
}
}
} //注:如果是手动改变图片,最好在刷新一下界面(this.Refresh();),记着图片要是透明的才能实现透明

  

上一篇:Linux(CentOS、Ububtu)一键安装Openstack及其它参考文档汇总


下一篇:Prism MEF example