在256色60hz下,form的opacity属性居然失去了效果。。。

horsefly 2008-06-03 08:56:35
有这样一段代码
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.Opacity = 0
End Sub

就很简单的在load事件里加上面这一段话(或者直接在Form的属性窗口设置也可以),直接编译成exe。
1. 在目前默认的桌面设置(true color 32bit 60hz)下直接运行exe,你会发现Form成透明状了,只有任务栏上的标题会被显示。(这个是我们想要的结果)
2. 然后把桌面设置成256色60Hz,再同样的直接运行这个exe,发现Form不在是透明的了,变的能看见了。(这个属性的设置失效了)在msdn上也没有对这个属性特别标明说<此属性只能在256色以上时有效>
有人知道这个现象的原因麽?
...全文
57 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hztltgg 2008-06-03
  • 打赏
  • 举报
回复
透明是argb空间里的吧,a就是透明度,4×8=32位才有
256色是固定的几种颜色,当然就没有了(或许修改系统调色板可以)

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧