C#怎样绘制半透明窗体,只让窗体背景半透明,而窗体里面的控件 不透明
展开全部
虽然不是无法实现,但比较麻烦。
因为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;
}
时间仓促,这段代码仍然不是很完美,需要你自己仔细修复一下。
因为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;
}
时间仓促,这段代码仍然不是很完美,需要你自己仔细修复一下。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询