C# Winform 做半透明窗体.
类似vista主题效果 标题栏是透明的。和边框也是透明的。
我试了一下Opacity 属性。设置成 50% 。之后发现 确实是半透明了。
但是我发现窗体中的内容也是透明的了(包含在窗体上所有的控件)。
琢磨了一阵子,我又试了下TransparencyKey 这个属性。我弄了张半透明的图片。
然后把TransparencyKey 指定了对应的颜色。 运行起来。 半透明的图片又变成了不透明的了。
请问高手,如果用C#实现半透明(内容不透明)应该如何做呢?谁做过。
------最佳解决方案-------------------- 友情帮顶
------其他解决方案-------------------- 顶一下
------其他解决方案-------------------- 窗体全有PNG背景文件承载,PNG边缘做成透明的,这个窗体的边缘即透明,这种方法最为方便有效!
喜欢全部用代码实现的话,完全可以,比较麻烦!
------其他解决方案-------------------- 引用: 好像是基于GDI+的
你连看都麽看就下这结论,这句话我还特意用红色标了下,不用拉倒!
“The concept of creating a per-pixel-alpha blending window remains the same, the GDI function UpdateLayeredWindow. ”
------其他解决方案-------------------- http://d.download.csdn.net/down/1951167/pipi04132417
这里有我上传的CustomForm.dll文件,你一用就明白了,希望对你有帮助。
上个贴连接地址发错了
------其他解决方案-------------------- 你吧 内容 与 边框分开啊 ! 2个样式! 不可以吗?
------其他解决方案-------------------- 引用: 你吧 内容 与 边框分开啊 ! 2个样式!? ? ? 不可以吗?
怎么分开 ? 我就是在Winform上放了个面板。面板背景图片是一张半透明的图片。
我指定TransparencyKey不好用。用Opaticy更不好用。
内容和窗体能分开 ? 头一次听说。
------其他解决方案-------------------- 没人进。。自己顶起。
------其他解决方案-------------------- 怎么回事,这么大个论坛,连解决这个问题的人都没有,
怎么嫌弃分数少么,可以追加。急。。。
------其他解决方案-------------------- 帮顶一下,顺便说一下,如果没有画面美化功底用用C1的C1RibbonForm效果还是不错的~~
------其他解决方案-------------------- 引用: 帮顶一下,顺便说一下,如果没有画面美化功底用用C1的C1RibbonForm效果还是不错的~~
地址给我下 , 可以么。 我就想实现个简单的效果。不太想用 3rd空件。
------其他解决方案-------------------- 好贴,留名关注。
------其他解决方案-------------------- up
------其他解决方案--------------------
//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;