有没有什么办法让面板透明或半透明?我没有找到任何合适的属性来为面板设置透明度。我也试图使用网格(网格背景和控制背景设置为透明)的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. 半透明面板背景
- 3. OpenGL的透明/半透明
- 4. Winforms半透明PNG半透明PNG
- 5. 透明面板
- 6. AWT组件上的半透明面板
- 7. 半透明自定义布局面板
- 8. 如何创建半透明面板
- 9. 半透明AppWidget?
- 10. SherlockActionBar半透明
- 11. 半透明NSView
- 12. 带半透明(半透明)带的绘制路径
- 13. 半透明控件上的不透明控件
- 14. Android透明面板
- 15. JButton的不透明度/半透明度?
- 16. WPF半透明按钮来控制MediaElement
- 17. WPF - 控制过半透明层
- 18. 制作像素半透明
- 19. 透明度控制(在透明容器中的非透明控制)
- 20. 将图像从不透明变为半透明(并保持半透明状态)
- 21. 半透明光标
- 22. 使UINavigationBar半透明
- 23. CSS半透明框
- 24. 半透明的seekbar
- 25. 表格单元格透明度或半透明度
- 26. Android使视图透明或至少半透明
- 27. 半透明面板显示下方的控件
- 28. 半透明窗口内的半透明JPopupMenu - 可选项?
- 29. QML:如何创建半透明/半透明的WebView元素?
- 30. 其他页面的半透明页面
透明面板需要WS_EX_TRANSPARENT原生样式标志(CreateParams)。我不认为你会从WPF控件中获得。很讽刺。 – 2010-09-23 17:55:59