"该控件不支持透明的背景色"是怎么回事?

future_wl future_wl 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我是在VISTA下使用.net2003的。在C#开发的一个窗体中想加入三个按钮控件,然后单击其中一个改变窗体颜色,加入以下代码:

private void firstform_Load(object sender, System.EventArgs e)
{
Button rd1=new Button();
Button rd2=new Button();
Button rd3=new Button();
rd1.Location =new System.Drawing.Point(0,0);
rd2.Location =new System.Drawing.Point(0,30);
rd3.Location =new System.Drawing.Point(0,60);
rd1.Text ="红";
rd2.Text ="白";
rd3.Text ="绿";
this.Controls.AddRange(new Control[] {rd1,rd2,rd3});
rd1.Click += new System.EventHandler(genericClick);
rd2.Click += new System.EventHandler(genericClick);
rd3.Click += new System.EventHandler(genericClick);

}
private void genericClick(object sender, System.EventArgs e)
{
Button rdb;
rdb=(Button)sender;
this.BackColor= Color.FromName(rdb.Text);
}
运行时选中一个颜色就会报错:

未处理的“System.ArgumentException”类型的异常出现在 system.windows.forms.dll 中。

其他信息: 该控件不支持透明的背景色。


是不是因为VISTA窗体本身的透明效果影响的呢?
...全文

相关推荐

C#WinForm开发:将控件背景色设置为透明

以pictureBox控件上label控件为例,设置label控件的背景色透明,可以看到pictureBox控件的背景色。

饮落醉卧

winform自定义控件(gdi+)(1)———设置透明背景色

本文详细讲解了如何在winform中设置控件的背景色为透明色

上位机马工

c# 透明背景和透明控件实现

实现C# 透明控件的概念 解决多个窗体置顶问题 背景半透明 解决控件半透明问题

什么想法都无

C# WinForm控件背景色透明

下载代码方式:https://pan.quark.cn/s/a4b39357ea24 在C# WinForm应用程序的设计过程中,为控件设定透明化的背景色是一项普遍存在的要求,此举能够提升界面布局的灵活性,并增强用户界面的视觉吸引力。本指南将深入阐述达成此功能的方法,并以一个具体案例——在pictureBox组件上配置label组件的背景色为透明——作为实例进行解析。为了完成这项任务,我们必须掌握WinForm中的控件渲染机制。Windows Forms组件在默认状态下并不支持透明背景,这是因为它们依赖于GDI+图形接口,而该接口并不直接提供透明度的功能。尽管如此,我们可以借助特定的技术手段来模拟透明效果,主要包含以下几个环节:1. **开发定制化控件绘图**: 若要获得透明背景,我们须构建一个个性化的Label类,并重写其`OnPaint`方法,从而能够自主掌控它的绘图行为。在`OnPaint`方法内部,我们可以运用`Graphics`对象的`DrawString`方法来呈现文本,而非依赖系统自动绘制。通过这种方式,我们可以有效防止背景的绘制。2. **应用半透明色调**: 通过将控件的背景色设定为一种半透明(Alpha通道值非255)的色调,可以达成视觉上的透明感。然而,这种透明仅限于颜色层面,控件本身依旧是不透明的。为了实现完全的透明,我们需要进行更进一步的调整。3. **应用透明基准色**: 在定制的Label类中,我们可以将`BackColor`设置为`Color.Transparent`,接着启用控件的`UseVisualStyleBackColor`属性,这一操作将使控件采用其父窗体的色调作为背景。与此同时,我们还应设定控件的`Transpare...

dns_boom

vb.net2005窗体透明控件不透明

vb.net2005窗体透明控件不透明示例

hsx49949046
评论 7
收藏 已收藏
分享
返回顶部
future_wl
C# 111,128 成员 642,537 内容