自定义结构的设计器序列化

问题描述

我有一个自定义结构:

Public Structure myStruct
   Public Sub New(ByVal row As Integer,ByVal Col As Integer)
      X = row : Y = Col
   End Sub
   Property X() As Integer
   Property Y() As Integer
end Structure

我在 UserControl 中用作属性:

Public Class myUC
   inherits UserControl

   Property myProp1 As String = "test"
   Property MyProp2 As myStruct = New myStruct(1,2)
End Class

如果我将此 UserControl 放在窗体上,Windows 窗体设计器将在 InitializeComponent 方法中创建一段代码,如下所示:

'
'MyUC1
'
Me.MyUC1.Location = New System.Drawing.Point(205,187)
Me.MyUC1.myProp1 = "test"

Me.MyUC1.MyProp2 = CType(resources.GetObject("MyUC1.MyProp2"),WindowsApp11.myStruct)
Me.MyUC1.Name = "MyUC1"
Me.MyUC1.Size = New System.Drawing.Size(150,150)
Me.MyUC1.TabIndex = 0

但我想让 myStruct 像 System.Drawing.Point 结构一样序列化。因此生成的设计器代码应该是

'
'MyUC1
'
Me.MyUC1.Location = New System.Drawing.Point(205,187)
Me.MyUC1.myProp1 = "test"
Me.MyUC1.MyProp2 = new WindowsApp11.myStruct(1,2)
Me.MyUC1.Name = "MyUC1"
Me.MyUC1.Size = New System.Drawing.Size(150,150)
Me.MyUC1.TabIndex = 0

有谁知道如何告诉 Windows 窗体设计器如何序列化自定义结构。我正在考虑类似于 Serialization.IXmlSerializable 接口的东西,但用于设计时。

我尝试使用 Google 查找某些内容,但似乎使用了错误的搜索表达式。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)