C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: プロパティグリッドにArrayList型の変数を表示するには


(過去ログ 31 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■14829 / inTopicNo.1)  プロパティグリッドにArrayList型の変数を表示するには
  
□投稿者/ イナフ (4回)-(2008/02/27(Wed) 15:24:07)

分類:[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

引用返信 編集キー/
■14830 / inTopicNo.2)  Re[1]: プロパティグリッドにArrayList型の変数を表示するには
□投稿者/ やじゅ (193回)-(2008/02/27(Wed) 15:40:33)
2008/02/27(Wed) 15:56:55 編集(投稿者)
2008/02/27(Wed) 15:41:36 編集(投稿者)

No14829 (イナフ さん) に返信
> 現在下記の様なクラスを作成し、プロパティグリッドに表示させておりますが、プロパティグリッドのコレクションエディタを表示し、追加ボタンを押したところ
> 「型'System.String'にコンストラクタが見つかりませんでした。」と表示されてしまい追加できません。

Private _Layers As ArrayList

Private _Layers As New ArrayList では?
引用返信 編集キー/
■14834 / inTopicNo.3)  Re[2]: プロパティグリッドにArrayList型の変数を表示するには
□投稿者/ イナフ (5回)-(2008/02/27(Wed) 16:05:58)
やじゅ様、ご返信ありがとう御座います。

> Private _Layers As ArrayList
> ↓
> Private _Layers As New ArrayList では?

失礼致しました。Lineクラスのコンストラクタの方でNewを行っておりましたが
記述漏れしておりました。しかし、同様のエラーが発生してしまいます。

引用返信 編集キー/
■14843 / inTopicNo.4)  Re[3]: プロパティグリッドにArrayList型の変数を表示するには
□投稿者/ 引っ込んだ(略) (9回)-(2008/02/27(Wed) 16:55:29)
2008/02/27(Wed) 16:59:31 編集(投稿者)

はじめまして、引っ込んだ略と申します。

 # 引っ込んだ(略) → 引っ込んだ略 にハンドルネームを変更いたします。
 # [追記]↑ハンドルネームを変更せずに投稿してしまいました・・・。[ここまで追記]

 とりあえず、Public Class TestCollectionEditor に以下のコードを追加してみてください。

  Protected Overrides Function CreateInstance(ByVal itemType As System.Type) As Object
    Return "あいう"
  End Function

以上です。
引用返信 編集キー/
■14848 / inTopicNo.5)  Re[4]: プロパティグリッドにArrayList型の変数を表示するには
□投稿者/ イナフ (7回)-(2008/02/27(Wed) 17:16:44)
引っ込んだ(略)様、ご返信ありがとう御座います。

>  とりあえず、Public Class TestCollectionEditor に以下のコードを追加してみてください。
>   Protected Overrides Function CreateInstance(ByVal itemType As System.Type) As Object
>     Return "あいう"
>   End Function

出来ました、感謝です!そして自分が不甲斐ないです…。
実現したい機能の一歩目が踏み出せた様な気がします。
これから自作コレクションの場合のコレクションエディタの勉強に入りたいと思います。
また、こちらでお世話になるかも知れませんが、その時はよろしくお願いいたします。
ご返信下さった方々ありがとう御座いました。
解決済み
引用返信 編集キー/
■14855 / inTopicNo.6)  Re[5]: プロパティグリッドにArrayList型の変数を表示するには
□投稿者/ 引っ込んだ略 (1回)-(2008/02/27(Wed) 18:14:30)
引っ込んだ略と申します。

 「自作コレクションの場合のコレクションエディタ」に関連する資料を、1つご紹介します。
 # 恥ずかしながら、私は「ID非公開」です・・・(汗

    ↓れい さんのコードが大変参考になります。
  http://bbs.wankuma.com/index.cgi?mode=al2&namber=11505&KLOG=25

以上です。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -