删除单选按钮的白色背景

时间:2014-11-07 13:31:53

标签: c# winforms colors radio-button

我有一个应用程序,我在图像上使用了单选按钮,因此单选按钮中的白色背景看起来非常糟糕。

enter image description here

那么有没有办法可以删除那个白色背景?

3 个答案:

答案 0 :(得分:2)

仅将BackColor设置为Color.Transparent不足以摆脱RadioButton周围的小边框。

您还需要为每个单选按钮调用以下代码,以确保背景确实透明

rbnTest.BackColor = Color.Transparent;
Point pos = this.PointToScreen(rbnTest.Location);
rbnTest.Parent = pibPicture;
rbnTest.Location = pibPicture.PointToClient(pos);

Source(不是真正的重复,但相似,因此不是标记为重复)

我建议将该代码重构为可重用的方法,这样就不会在整个项目中分散代码。

答案 1 :(得分:0)

找到控件类的构造函数。构造函数出现在控件的代码文件中。在C#中,构造函数是与控件同名且没有返回值的方法。

在构造函数中调用表单的SetStyle方法。

SetStyle(ControlStyles.SupportsTransparentBackColor, true);

添加以下行。这会将您的控件的BackColor设置为Transparent。

this.BackColor = Color.Transparent;

注意 Windows窗体控件不支持真正的透明度。透明Windows窗体控件的背景由其父窗口绘制。

答案 2 :(得分:-1)

您可以使用RadioButton.BackgroundImageRadioButton.BackColor属性。选择最适合你的那个