C# 我可以在WinForms中的PictureBox上创建透明背景吗?
我想使C# 我可以在WinForms中的PictureBox上创建透明背景吗?,c#,winforms,transparent,picturebox,C#,Winforms,Transparent,Picturebox,我想使PictureBox控件的背景透明。在图片框(矩形)中,我放置了一个图标(圆形)。我想使图标透明,以便图标下方的其他部分可见 我已尝试将PictureBox.BackColor属性设置为“透明”,但它不起作用。我还尝试在运行时使用Color.FromArgb方法设置它,但它也不起作用 这个问题有什么解决办法吗?设置pictureBox.BackColor=Color.Transparent肯定会有用 使用color.FromArgb(0,0,0,0)时,还要验证是否正在设置颜色的alpha
PictureBox
控件的背景透明。在图片框
(矩形)中,我放置了一个图标(圆形)。我想使图标透明,以便图标下方的其他部分可见
我已尝试将PictureBox.BackColor
属性设置为“透明”,但它不起作用。我还尝试在运行时使用Color.FromArgb
方法设置它,但它也不起作用
这个问题有什么解决办法吗?设置
pictureBox.BackColor=Color.Transparent代码>肯定会有用
使用color.FromArgb(0,0,0,0)
时,还要验证是否正在设置颜色的alpha通道;(这是第一个参数,零表示透明颜色)
当然,还要确保图标的背景是透明的。如果使用WinForms
则将背景颜色设置为透明将不起作用,因为透明度处理不是级联系统-您只能(在大多数情况下)使用opacity
属性设置控件的整体透明度(或者更确切地说是不透明度),但是,这将改变整个控制显示的alpha通道,使您的图像具有透明性
一种解决方案可能是将PictureBox
的背景色设置为其下控件的背景色(例如表单的颜色)。但这在您的情况下可能不够。您好,您必须使用此按钮在图标下方的另一部分设置图标
图标\图片框\名称。控件。添加(其他\部分\图片框\名称)
然后,您可以将PictureBox.BackColor属性设置为“Transparent”,它将正常工作;) 在winforms中,透明不适用于窗体背景,但适用于控件。WPF中没有PictureBox控件。有一个图像控件。@lazyberezovsky:不是所有的控件-例如,尝试为标签配置背景透明度(显然,对于PictureBox
。如果我在两个框架中使用了PictureBox
的互换性,那么无论如何都会删除我对WPF
的引用。标签工作正常。有些控件不允许透明背景(列表框、文本框等)但这是另一个故事。Label
和/或PictureBox
以这种方式运行良好的例子?作为一个正常检查,我刚刚创建了一个项目来测试并设置Transparent
作为任何一个控件的背景,只需将两个控件都保留为控件(请参见:灰色)背景。您希望在picturebox下看到的到底是什么?请尝试以下操作:这个问题经常被问到。请参阅:以及其他许多问题。默认情况下,将背景色设置为透明并不会使这些像素透明。它会使它们具有父控件的背景色。@CodeInChaos:当然,这是可以的当“透明”控件与其他控件重叠时可以看到。这是因为“透明”控件要求父控件绘制其背景。好的,这仅适用于我的回答中的注释中的示例:也就是说,当父控件不使用纯色,即图像时。@Missimpointen先生:这不取决于背景的类型父控件使用的und-无论是图像或实体控件,还是用户绘制-父控件的背景将绘制在“透明”子控件上。