有没有什么办法让面板透明或半透明?我没有找到任何合适的属性来为面板设置透明度。我也试图使用网格(网格背景和控制背景设置为透明)的WPF控件,并将其放置在正常的Windows窗体上,但是当我把这个控件放在正常的Windows窗体(而不是WPF)上时,我不会没有适当的透明度。透明或半透明面板控制
回答
我不确定如何使面板变为半透明,但我知道您可以使用表格的TransparencyKey
属性来创建完全透明的部分。
例如,将表单的TransparencyKey
属性设置为Fuchsia,然后将面板的BackColor
设置为Fuchsia,并且它将在窗体上创建一个透明区域。
编辑:
与@Callum罗杰斯同意关于与WPF去。直接显示在面板上的文字显示边框(请参阅屏幕截图中的标签)。但是,如果您需要快速将其添加到现有的Win Forms应用程序,并且不需要在面板上直接显示文本,它可以为您工作。
不幸的是,透明度不是在本地的WinForms或很好的支持,是难以实现自己。
如果你想有一个透明的面板,让您的形式是“看透”,看看at this article,它告诉你设置这两个小组的TransparencyKey
和BackColor
喜欢的东西Fuscia
。对于面板中的文本/其他内容,此效果可能看起来不太好。
如果你想要一个透明或半透明的面板,显示下面的表格看看at this SO question。
我会一路使用WPF,如果你现在可以在表单中使用它。
如果您的显示器是非常静态的,你可以做到这一点,实现半透明度(Source):如果您在半透明的需要动态渲染
class SeeThroughPanel : Panel
{
public SeeThroughPanel()
{
}
protected override CreateParams CreateParams {
get {
var cp = base.CreateParams;
cp.ExStyle |= 0x00000020;
return cp;
}
}
protected override void OnPaint(PaintEventArgs e)
{
//base.OnPaint(e);
e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(50, 0, 0, 0)), this.ClientRectangle);
}
}
但是,这种方法也不是没有问题控制。请参阅我发布的问题this。希望有一天能得到答案。
这非常有用! – 2014-12-31 02:20:31
- 1. 半透明面板背景
- 2. OpenGL的透明/半透明
- 3. 如何创建半透明面板
- 4. 半透明自定义布局面板
- 5. AWT组件上的半透明面板
- 6. 半透明AppWidget?
- 7. 半透明NSView
- 8. 带半透明(半透明)带的绘制路径
- 9. Android透明面板
- 10. WPF - 控制过半透明层
- 11. 半透明光标
- 12. 表格单元格透明度或半透明度
- 13. 半透明面板显示下方的控件
- 14. QML:如何创建半透明/半透明的WebView元素?
- 15. 表单中的半透明子表单(或其他半透明图层)
- 16. 闪烁透明面板
- 17. 拖放透明面板Android
- 18. 面板透明度firefox addon
- 19. 创建透明面板
- 20. 如何制作“鼠标透明”面板?
- 21. 通过透明面板旋转透明图像
- 22. Bootstrap透明面板css背景:rgba不会透明
- 23. ASP.NET图表控制透明
- 24. 半透明倾斜背景
- 25. 半透明文本域
- 26. UIStatusBar半透明风格
- 27. 半透明导航栏
- 28. Internet Explorer:半透明图像
- 29. 受半透明叠加
- 30. 重复半透明NSImage中
透明面板需要WS_EX_TRANSPARENT原生样式标志(CreateParams)。我不认为你会从WPF控件中获得。很讽刺。 – 2010-09-23 17:55:59