|
分類:[VB.NET/VB2005]
OS:XP 開発環境:VS2005
いつも拝見させて頂き非常に参考になり助かっております。
現在下記の様なクラスを作成し、プロパティグリッドに表示させておりますが、プロパティグリッドのコレクションエディタを表示し、追加ボタンを押したところ 「型'System.String'にコンストラクタが見つかりませんでした。」と表示されてしまい追加できません。 コレクションエディタにArrayList型の変数をString型で表示し、追加させたいのですが、何が問題なのでしょうか? どうかどなたかご教授下さい。 「_Layers」にはただの文字列が入りますので、String配列にしても良いのですが…。
Public Class Line
''' <summary>所属レイヤ名称</summary> Private _Layers As ArrayList
''' <summary>所属レイヤー</summary> <Editor(GetType(TestCollectionEditor), _ GetType(System.Drawing.Design.UITypeEditor))> _ <Category("共通")> _ <Description("所属レイヤー")> _ <PropertyDisplayName("所属レイヤー")> _ Public Property Layers() As ArrayList Get Return _Layers End Get Set(ByVal Value As ArrayList) _Layers = Value End Set End Property
End Class
Public Class TestCollectionEditor Inherits CollectionEditor
Public Sub New(ByVal newType As Type) MyBase.new(newType) End Sub
Protected Overrides Function CreateNewItemTypes() As Type() Dim types() As Type = {GetType(String)} Return types End Function
Protected Overrides Function CanSelectMultipleInstances() As Boolean Return False End Function
Protected Overrides Function CreateCollectionItemType() As Type Return GetType(String) End Function
End Class
|