永发信息网

c#中,我用两个form窗体叠加,前一个半透明,后一个透明。前一个上有控件不想让他透明,希望附上代码说明

答案:4  悬赏:0  手机版
解决时间 2021-03-01 22:16
c#中,我用两个form窗体叠加,前一个半透明,后一个透明。前一个上有控件不想让他透明,希望附上代码说明
最佳答案
虽然不是无法实现,但比较麻烦。
因为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;
}

时间仓促,这段代码仍然不是很完美,需要你自己仔细修复一下。
全部回答
Opaticy属性0%为透明 100%为不透明 设置前一个窗体的Opaticy为0%-90%看你需要的透明度,后一个窗体设为0% 可以直接在代码里写this.Opacity = 0;
100%透明就什么都看不到了 设置Opaticy属性就可以调整Form的透明度
在form1里输入: form2 frm = new form2(); frm.show(); 或者修改项目里的program.cs文件里的: application.run(new form2())
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
江苏赣榆去莒县上什么高速
成人用品店销售假药罪最快要多久判
兰溪市兰江街道三字桥村村在什么地方啊,我要
【你是小明吗】英语翻译我是小明,你是谁.接电
关于脸部变形还可以录像视频的应用叫什么
我在携程写了游记,如何整理行程,怎么说暂未
香港豪运滑动门怎么去啊,有知道地址的么
北京农业大学排名是几本
哪个大学的预防医学毕业最好找工作
合肥好的5年制大专学校
下午五点多到南昌火车站,之后坐班车去永修的
炒香港恒生指数外围公平?
一套房四个卧室风水好不好
猪油放麻辣烫里有什么作用
21岁了我回去不了校园生活了!社会的生活也无
推荐资讯
亲情号码固话打要加020吗
X战警的漫画顺序是怎么样的
陕西西安地调院的权限是什么,
小儿淌清鼻涕吃什么药
吴雨美容在什么地方啊,我要过去处理事情
本人预算12-13万买一台三厢轿车,目前看了卡
蝴蝶犬详解
macd指标高位金叉什么意思
梦见一条很大的蛇从我右手臂咬进去我身体里面
萌宝恋妈雷氏普爱女性关怀健康管理中心地址在
小性子十足是什么意思
电影院是越靠前票越贵吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?