Visual Basic窗体属性数组不会被存储

问题描述:

这是我的问题: 我做了一个包含名为“lstMain”的ListView的UserControl。 我有我的控制器内的属性:Visual Basic窗体属性数组不会被存储

Public ReadOnly Property DataRowBoundColumns() As System.Windows.Forms.ListView.ColumnHeaderCollection 
    Get 
     Return Me.lstMain.Columns 
    End Get 
End Property 

在设计师,我可以编辑这些属性,但是当我编译值被删除。 这不会发生其他属性,它是一个字符串,一个整数和其他对象(不是数组)。 任何人都可以帮助我吗?

问题是您在设计模式下通过集合编辑器提供的数据不会被序列化。假设您的自定义控件被称为“MyCompositeControl”,您应该写下如下所示的内容。

Imports System.ComponentModel 
Public Class MyCompositeControl 

<DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> 
Public ReadOnly Property DataRowBoundColumns() As System.Windows.Forms.ListView.ColumnHeaderCollection 
    Get 
     Return Me.lstMain.Columns 
    End Get 
End Property 

End Class