我已经在VB.NET应用程序上工作了大约两年,现在它的功能与Windows资源管理器外壳和文件浏览器的替换相同。我刚刚开始开发一个用户控件,它将像一个按钮,但由一个图片框和一个标签组成。单击该项目时发生的代码已经完成,但我对控件的属性有问题; 我为控件添加了两个属性,一个用于更改标签文本的“ButtonText”,另一个用于图片框中的“图像”。我阅读了有关控件属性Creating a Windows Form User Control)的Microsoft文档,并帮助我向控件添加属性。
Private bttnTxt As String
Private bttnImg As Image
<Category("Appearance"), Description("The text displayed at the bottom of the button control")>
Public Property ButtonText() As String
Get
Return bttnTxt
End Get
Set(ByVal Value As String)
Label3.Text = Value
End Set
End Property
<Category("Appearance"), Description("The image used in the button control")>
Public Property Image() As Image
Get
Return bttnImg
End Get
Set(ByVal Value As Image)
PictureBox3.BackgroundImage = Value
End Set
End Property
我是通过解决方案构建的,将新添加的控件添加到我的应用程序主窗体的设计器中,并设置“Image”和“ButtonText”属性的值。但是,当我向自定义属性添加值时,它们会立即恢复为空。 我需要帮助确定为什么我在设计器中设置的值不会留在属性中。 I've attached an image here to demonstrate my problem.
答案 0 :(得分:0)
您没有在变量中保存任何内容:
$('input[type="checkbox"]').click(function() {
if ($('input[type="checkbox"]:checked').length > 0) {
$('#main-div > div > div > div').hide();
$('input[type="checkbox"]:checked').each(function () {
var showId = this.id;
$('div.' + showId).show();
});
} else {
$('#main-div > div > div > div').show();
}
});
答案 1 :(得分:0)
我的问题是我需要重写克隆功能。参见下面的代码示例。
希望这可以为某人节省一些时间。
Public Class CustomClass_DatGridViewColumn
Inherits DataGridViewComboBoxColumn
Private propertyValue As String = ""
Public Overrides Function Clone() As Object
Dim col As CustomClass_DatGridViewColumn = CType(MyBase.Clone(), CustomClass_DatGridViewColumn)
col.myProperty = propertyValue
Return col
End Function
<DesignerSerializationVisibility(DesignerSerializationVisibility.Visible), Category("Data"), .Description("description")>
Public Property myProperty As String
Get
Return propertyValue
End Get
Set(ByVal value As String)
propertyValue = value
End Set
End Property
End Class