110,570
社区成员
发帖
与我相关
我的任务
分享
--在winform中要实现一个锁屏的效果
--1,我的思路是:单击锁屏按钮后,把Panel当作Div+Css,放在窗体的最上面
--2,现在遇到的问题
-- 我窗体上有很多控件,自定义一个Panel,要怎么添加到窗体上 this.Controls.Add(p)?
-- Panel要放到哪一层,最顶层?
--3,或者用Panle这个方法根本就不可取?求思路,求方法
//自定义透明的Panel
public partial class UserPanel : UserControl
{
public UserPanel()
{
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
{
}
}
}