C#怎样绘制半透明窗体,只让窗体背景半透明,而窗体里面的控件 不透明

 我来答
feqgat
推荐于2016-11-29 · TA获得超过1002个赞
知道小有建树答主
回答量:1092
采纳率:100%
帮助的人:895万
展开全部
虽然不是无法实现,但比较麻烦。
因为opacity属性会让窗体上所有的控件都变成透明的,所以我们可以这样办。

代码如下:
Form f = new Form(); //创建一个新窗体
Label lab = new Label(); //要显示的文本
void MainFormLoad(object sender, EventArgs e)
{
f.FormBorderStyle = FormBorderStyle.None; //设置窗体无边框
f.ShowInTaskbar = false;
f.BackColor = Color.Red;f.TransparencyKey = f.BackColor; //让窗体透明
lab.Text = "我是在透明窗体上的不透明文本!";
lab.BackColor = Color.Transparent; //背景色透明
lab.Location = new Point(100,150); //调整在窗体上的位置
f.Controls.Add(lab);
f.TopLevel = true;
f.Show();
}

void MainFormMove(object sender, EventArgs e)
{
f.Location = this.Location;
}

时间仓促,这段代码仍然不是很完美,需要你自己仔细修复一下。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式