我一直在四处寻找,我从未找到真正的直接答案。现在,我正在尝试
public frmGameWindow()
{
InitializeComponent();
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.SupportsTransparentBackColor, true);
}
private void frmGameWindow_Load(object sender, EventArgs e)
{
imgSrc.BackColor = Color.Transparent;
lblName.BackColor = Color.Transparent;
}
然而,它仍然使控件高于父级的背景颜色(在这种情况下,表单本身)。我正在尝试编写一个非常基本的游戏引擎来帮助我使用Visual Studio 2010标准安装中内置的严格功能进行C#研究。
答案 0 :(得分:0)
覆盖控件&创建自己的可以覆盖方法。您可以尝试以下几个覆盖:
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x00000020; //WS_EX_TRANSPARENT
return cp;
}
}
protected override void OnPaintBackground(PaintEventArgs pevent)
{
// Don't paint background
}