[英]UserControl Transparency - C#
我正在添加一个用户控件作为表单(面板)中的最顶层控件,如下所示:
var ct = new UcMessage {
Dock = DockStyle.Fill,
Location = new Point(0, 0),
Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right,
Bounds = this.ClientRectangle,
Size = this.ClientSize
};
this.Controls.Add(ct);
ct.BringToFront();
它将运行良好,并将覆盖整个表格。 我在用户控件构造函数中使用此代码来设置透明度:
base.CreateParams.ExStyle |= 0x20;
SetStyle(ControlStyles.SupportsTransparentBackColor, true);
BackColor = Color.FromArgb(0x80, 0xFF, 0xFF, 0xFF);
我的表单有背景图片,将用户控件添加为最上面的控件后,透明度会起作用,我可以看到表单的背景图片,但是有一个问题,我看不到其他表单的控件。 添加用户控件后,似乎所有这些都将隐藏。
问题出在哪里以及如何解决?
尝试删除这行代码: ct.BringToFront();
我试过你的代码,发现没有那行它也能很好地工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.