我正在开发一个winforms应用程序(使用.NET 3.5)
在一个表单中,我有一个面板控件,里面有一个datagridview控件。
我希望有一些控制(让我们说简单 - 标签) 出现在datagridview的前面,我希望这个标签是透明 - 这意味着:我想看看gridview中显示的数据。
我只想查看标签中的文字,而不是整个矩形......以及文本后面的文本 - 以查看gridview中的数据。
问题如下:标签的父控件不是gridview (因为它不是容器控件)。标签的父级是面板控件。
因此,当我将标签设置为透明时..实际上我对面板有透明度,而不是数据网格视图。
答案 0 :(得分:5)
查看此CodeProject文章: How to Use Transparent Images and Labels in Windows Forms
此外,您可以随时使用GDI(System.Drawing)并直接将您想要的内容绘制到透明面板上?
答案 1 :(得分:1)
将面板设置为透明。它不应该导致面板出现任何问题,因为您仍然可以在其后面使用表单。
另外还有一个问题需要警告你。 winforms控件中的透明度仅模拟或伪造,因为当您创建控件时,它会获取控件后面的表单图像并将其用于背景,而不是真正使其透明。如果背景更改或控件在表单上移动,这可能会导致问题。