社区
C#
帖子详情
winForm,实现窗体半透明,控件不透明。请问怎样实现呢?多谢啦!
pslh
2007-05-05 02:50:38
winForm,实现窗体半透明,控件不透明。请问怎样实现呢?多谢啦!
...全文
2077
18
打赏
收藏
winForm,实现窗体半透明,控件不透明。请问怎样实现呢?多谢啦!
winForm,实现窗体半透明,控件不透明。请问怎样实现呢?多谢啦!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
林深见鹿dw
2012-05-10
打赏
举报
回复
http://blog.csdn.net/wanlong360599336/article/details/7553568
可以去看看这里,比较简单的方法。
a4215629
2011-12-15
打赏
举报
回复
楼上的这样做子窗体永远不会是活动窗体.... 上面的功能用不了.
wang19920126
2011-04-13
打赏
举报
回复
让两个窗体重叠
下面一个窗体不透明 不加任何背景图片或颜色,指定透明色,让它除控件外其他地方都是透明,也就是没有控件的地方镂空 。
上面一个窗体半透明,指定下面窗体的Owner属性是上面的窗体。
HalfTransparentForm是上层窗体,相当于一个遮罩层,背景图片可加在这个窗体上
HalfTransparentChildForm是下层窗体,功能可以都写在这个窗体上
public HalfTransparentForm()
{
InitializeComponent();
this.Opacity = 0.5; // 窗体透明度
this.childForm = new HalfTransparentChildForm();
this.childForm.Owner = this; // 这支所属窗体
this.childForm.Dock = DockStyle.Fill;
this.childForm.Show();
this.childForm.BringToFront();
}
private HalfTransparentChildForm childForm;
/// <summary>
/// 父窗体大小改变的时候 子窗体也随之改变
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void HalfTransparentForm_Resize(object sender, EventArgs e)
{
if (this.childForm != null)
this.childForm.Size = this.Size;
}
/// <summary>
/// 父窗体位置改变的时候 子窗体也随之改变
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void HalfTransparentForm_LocationChanged(object sender, EventArgs e)
{
if (this.childForm != null)
this.childForm.Location = this.Location;
}
david_anwei
2007-05-10
打赏
举报
回复
好像很麻烦啊!学习!
shinaterry
2007-05-10
打赏
举报
回复
嗯!同意LS...
wzq6511
2007-05-09
打赏
举报
回复
窗体用半透明的背景图,可以达到同样的效果!
wzq6511
2007-05-09
打赏
举报
回复
楼上真厉害,这种办法也想的出来!
王集鹄
2007-05-09
打赏
举报
回复
让两个窗体重叠
下面一个窗体半透明
上面一个窗体不透明,但是是一个不规则的窗体,没有控件的地方镂空
拖动下面的窗体的时候上面的窗体跟着动
pslh
2007-05-09
打赏
举报
回复
要求是这样的呀:
窗体半透明(不是全透明)、控件不透明
这两个条件必需是同时都要满足的。
ymmzl
2007-05-09
打赏
举报
回复
两个窗体重叠一下.
把底下的窗体半透明, 上面的窗体做成无边框,然后将窗体选择一个颜色(如红色), 将窗体透明色改为(红色). 只要其他对象不改为红色就OK了.
pslh
2007-05-09
打赏
举报
回复
半透明!!!
是半半半半半半半半半透明!!!
baggio_gan
2007-05-09
打赏
举报
回复
先将 Fomr.transparencykey 设置唯一种颜色
当 Form.backcolor 与上面的颜色一样时 窗体透明 控件不透明
pslh
2007-05-09
打赏
举报
回复
要半透明的部分中,包括了窗体的标题栏等非客户区,没法用 半透明的背景图 来代替的。
shinaterry
2007-05-06
打赏
举报
回复
.
skyeyecn
2007-05-06
打赏
举报
回复
用API函数SetLayeredWindowAttributes 可以实现的:
Win32 API函数 SetLayeredWindowAttributes 的原型是
BOOL SetLayeredWindowAttributes(
HWND hwnd, // handle to the layered window
COLORREF crKey, // specifies the color key
BYTE bAlpha, // value for the blend function
DWORD dwFlags // action
);
SetLayeredWindowAttributes函数:
hwnd是透明窗体的句柄,
crKey为颜色值,
bAlpha是透明度,取值范围是[0,255],
dwFlags是透明方式,可以取两个值:
当取值为LWA_ALPHA时,crKey参数无效,bAlpha参数有效;
当取值为LWA_COLORKEY时,bAlpha参数有效而窗体中的所有颜色为crKey的地方将变为透明。
LWA_ALPHA = 0x2
LWA_COLORKEY=0x1
要使使窗体拥有透明效果,首先要有WS_EX_LAYERED扩展属性
(旧的sdk没有定义这个属性,所以可以直接指定为0x80000).
WS_EX_LAYERED = 0x80000
2.通过窗体属性Opacity也可以实现
以下程序通过循环显示窗体的透明度过程,为了让大家看清楚其变化,在循环过程中使用了System.Threading.Thread.Sleep来停顿。
Private Sub button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles button1.Click
'窗体的透明度渐变过程
button1.Enabled = False
Dim I As Double
For I = 0.01 To 1 Step 0.01
Me.Opacity = I
System.Windows.Forms.Application.DoEvents()
System.Threading.Thread.Sleep(5)
Next
Me.Opacity = 1
button1.Enabled = True
End Sub
CathySun118
2007-05-06
打赏
举报
回复
更改backcolor
kiddfanfan
2007-05-05
打赏
举报
回复
应该是没有办法吧
因为当你将其他控件拖到窗体里时候
再用Opacity属性的话是将整个窗体进行设置的
因为窗体其实本身是一个容器
所以里面的空间就成了它的一部分
而Opacity是将整个容器设置成透明的
所以用Opacity是行不通的
呵呵
估计专门做窗体美工的高手应该会吧
期待中........!
qiaozhiwei
2007-05-05
打赏
举报
回复
设置窗体的Opacity属性可使窗体半透明,但是控件也会半透明,看高手解答
Winform
窗体
半
透明
,
控件
不
透明
,皮肤美化效果
Winform
窗体
半
透明
,
控件
不
透明
,及
窗体
美化效果
C#仿迅雷资讯
半
透明
窗体
(
控件
不
透明
)
仿迅雷资讯
窗体
,
半
透明
的
窗体
,但里面的
控件
不
透明
, 有一个缺点就是移动
窗体
时,会感觉
窗体
看到的背景不实时. 如有高手将此功能完善,请发一份代码给我,谢谢. 236469173@qq.com
C#仿迅雷资讯
半
透明
窗体
C#仿迅雷资讯
半
透明
窗体
C#
WinForm
窗体
四周阴影效果
在
Winform
取消默认边框的情况下,
实现
了
窗体
四周带阴影的效果。利用双层
窗体
实现
,上层是普通的
控件
窗体
,底部是绘制的
窗体
阴影。
WINFORM
窗体
界面设计技巧-不规则、可改变大小、边框
半
透明
效果.doc
WINFORM
窗体
界面设计技巧-不规则、可改变大小、边框
半
透明
效果
C#
110,545
社区成员
642,581
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章