0

我有一个 .NET 类CustomButton,它继承了Control. 所以我有一个CustomButton.vb看起来像的文件

Public Class CustomButton
    Inherits Control

    Public Sub New()
        Me.InitializeComponent()
    End Sub
End Class

包含我想要覆盖的所有属性。当我使用该类时,我会转到现有并将其链接到当前项目。该课程可能链接到多个项目。

如果您创建自定义表单并将图像嵌入其中,则会创建一个 .resx 文件。

所以我的问题...... 在我的一个子/功能中,我想要一些东西,例如Me.BackgroundImage = xx 将成为图像的位置。如果我这样做了,Me.BackgroundImage = My.Resources.x那么我必须将 x 包含到我将自定义类链接到的每个项目中。有没有办法让我CustomButton.vb拥有一个CustomButton.resx?如果是这样,我会在它调用中访问图像Red.x吗?

这有意义吗?

4

2 回答 2

0

汉斯·帕桑特的话让我朝着正确的方向前进。

我不确定原始.vb文件是如何启动的,但是没有.designer.vbor .resx。我从表单中复制了.resx一个并将其重命名为我的.vb文件。随着.designer.vb我看到两个相同的类名。当我离开时排除.designer.vb其中一个文件。这是我如何让它工作的。以@Hans Passant所说的话,我查看了表单以及它如何引用资源。

Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(xxxx))

其中 xxxx 是类的名称。然后将 .png 文件添加到资源中并命名为 yyyy。

Me.BackgroundImage = CType(resources.GetObject("yyyy"), System.Drawing.Image)
于 2013-11-05T22:52:30.973 回答
0

在任何项目中都必须包含三个文件,CustomButton.vb、CustomButton.resx 和 CustomButton.Designer.vb。后者隐藏在 VB.NET 中,但需要运行 My.Resources 语法。单击解决方案资源管理器工具栏中的显示所有文件按钮以查看它,展开 .resx 节点。

类库项目应该在您的首选方法列表中居高不下。将其永久保存在工具箱中也是一项艰巨的要求。

于 2013-11-01T21:45:29.323 回答