Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以在WinForms中的PictureBox上创建透明背景吗?_C#_Winforms_Transparent_Picturebox - Fatal编程技术网

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-无论是图像或实体控件,还是用户绘制-父控件的背景将绘制在“透明”子控件上。