解决方案
我做了一些谷歌搜索并找到了这个论坛帖子,这就是我需要做的:
Imports System.ComponentModel
<EditorBrowsable(EditorBrowsableState.Always), Browsable(True), Bindable(True), _
DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)> _
Overrides Property Text() As String
Get
Return ControlText.Text
End Get
Set(ByVal value As String)
ControlText.Text = value
End Set
End Property
我应该说我对创建自定义控件真的很陌生,所以我不知道整个过程的所有细节。
我正在创建一个自定义控件,其功能类似于复选框,但使用两个图像作为选中/未选中。我正在尝试添加一个 Text 属性,但它给了我这个警告:
Property Text() As String
Get
Return ControlText.Text
End Get
Set(ByVal value As String)
ControlText.Text = value
End Set
End Property
“属性‘文本’在基类‘UserControl’中隐藏了一个可重写的方法。要重写基方法,该方法必须声明为‘Overrides’。”
好的,所以这没问题。我将声明更改为Overrides Property Text() As String
,但是当我去测试它时,“文本”未在属性下列出。我需要采取其他步骤来获得结果吗?
更多细节
我的控件由 2 个(或 3 个,取决于您如何看待它)组成:
- PictureBox - 显示选中/未选中的图像
- 标签 - 控件上显示的文本
- PictureCheckBox - 这是实际控件的名称
PictureBox 停靠在 PictureCheckBox 的左侧,Label 停靠在右侧: