繁体   English   中英

用户控件透明度 - C#

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM