通过c#
中的pictureboxs来实现透明度 在C#Windows表单应用程序中的Picturebox上,重叠透明控件需要解决方法,因为设计师不直接支持此功能。 这是解决此问题的方法:
设计时间挑战:
标准的Windows表单设计器可防止放置控件一个picturebox。 如果您尝试,则控件的父母将是表格,从而产生不透明的背景图片框后面的背景。
方法1:程序化控制育儿
此方法在运行时会动态更改控件的父:
<code class="language-csharp">public Form1() { InitializeComponent(); Point pos = label1.Parent.PointToScreen(label1.Location); pos = pictureBox1.PointToClient(pos); label1.Parent = pictureBox1; label1.Location = pos; label1.BackColor = Color.Transparent; }</code>此代码段将移动
label1
pictureBox1
方法2:自定义图片框控制对于更优雅的设计时间解决方案,请创建自定义picturebox控件:
此自定义
类,使用<code class="language-csharp">using System.ComponentModel; using System.Windows.Forms; using System.Windows.Forms.Design; // Add System.Design reference [Designer(typeof(ParentControlDesigner))] public class PictureContainer : PictureBox { }</code>>,允许您在设计器中直接将控件添加到其内部,从而保留透明度。 在设计师中,将您的Picturebox的类型更改为
>。PictureContainer
>
ParentControlDesigner
选择最适合您需求的方法。 方法2提供了更干净的设计时间体验,而方法1为较小的项目提供了更简单的解决方案。 请记住将覆盖控件的PictureContainer
属性设置为
以获得真正的透明度。BackColor
>
以上是我如何在C#中放置透明的控件?的详细内容。更多信息请关注PHP中文网其他相关文章!