【发布时间】:2013-06-05 14:07:59
【问题描述】:
我正在尝试在我的表单顶部添加一个按钮来传播网络内容。该按钮应该是一个带有一些透明区域的圆形 PNG 图像(因为这些区域我不能只使用 GraphicPath 圆圈来管理它)。
当然,我的 PNG 以透明背景保存得很好。在设计器中,我将前色和背景色都设置为透明。这样,如果我从按钮中删除图像,按钮是完全透明的。但是对于 PNG 图像分配它不是。
我找到了这段代码: C# transparent PNG for buttons, panels...how?
我的问题是我无法使用它。如果我只是将它复制到我的应用程序的命名空间中,MainForm 设计器会给我一个错误:
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
“无法找到指定文化的适当来源”。
我这样做是好方法吗?仅仅创建这个类的一个实例来让它工作就足够了吗?
谢谢
【问题讨论】:
-
我对你的确切问题有点困惑。您是否遇到了透明度问题(如果有,请阅读 GDI 和 GDI+ 中的透明度)...您是否正在创建自己的控件来充当按钮?按钮是否根本找不到您要查找的资源或其他?
-
另外,“散布网页内容”是什么意思?
-
我必须放下一个带有透明区域的PNG图像,作为按钮。在我找到的代码中,人们说我们可以通过创建一个“自定义”控件来获得这个结果。
-
“网页内容”是一个网页,内容可以随时间变化,这就是为什么我需要真正的透明度,因为我无法将背景调整为页面的颜色,所以它充当“透明”。
-
我认为您将很难使用 Windows 窗体执行此操作。为此,您可能需要考虑迁移到 WPF。
标签: c# transparency