1

我正在使用 VS .NET 2010 终极版。我在我的(自定义)组件上遇到了一些属性的奇怪行为,我想知道这是我的问题还是 IDE 问题。我发布了两张图片,第一张是在编辑属性之前,将 Dot->Size->Height 从 5 更改为 20,第二张是在按 Enter 更改新值之后。

这是在编辑我的财产之前

这是在编辑属性并按回车之后

现在您可以看到“Spacing”属性(未触摸)被翻了一番 :) 该组件在设计时和运行时都表现正常,所以除了这个奇怪的方面外,一切都是 oukey。当我单击 [+] 符号时,一切恢复正常,属性显示为 oukey 并更新。

有什么问题 ?

PS。我怀疑问题出在我的 TypeConverter 类的 CreateInstance 函数中,因为当我评论这些函数时,属性没问题,但是当然,组件在设计时不再更新(直到我单击表单上的其他位置)

以下是功能:

Public Overrides Function GetCreateInstanceSupported(ByVal context As System.ComponentModel.ITypeDescriptorContext) As Boolean
  Return True
End Function

Public Overrides Function CreateInstance(ByVal context As System.ComponentModel.ITypeDescriptorContext, ByVal propertyValues As System.Collections.IDictionary) As Object
  Dim da As New DotAttributes With
                  {
                    .Color = CType(propertyValues("Color"), Color),
                    .Shape = CType(propertyValues("Shape"), DotShapes),
                    .Size = CType(propertyValues("Size"), Size),
                    .Spacing = CType(propertyValues("Spacing"), Size)
                  }
  Return da
End Function
4

0 回答 0