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

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

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

Re[5]: カスタムコントロールのプロパティで文字列リスト


(過去ログ 102 を表示中)

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

■61264 / inTopicNo.1)  カスタムコントロールのプロパティで文字列リスト
  
□投稿者/ ひろ (5回)-(2011/08/08(Mon) 10:37:44)

分類:[.NET 全般] 

2011/08/08(Mon) 10:41:23 編集(投稿者)
2011/08/08(Mon) 10:39:49 編集(投稿者)
2011/08/08(Mon) 10:38:35 編集(投稿者)

たびたびお世話になります

.netフレームワーク 1.1
VS2003
ASP.NET(VB)

カスタムコントロールを作成してプロパティをデザインモード時に
表示、変更可能にしているのですが、文字列リストが編集できず悩んでいます。

下記のソースでArrayListで文字列リストを管理しようとしていますが
プロパティで編集しようとすると、「Object コレクション エディタ」
というダイアログが表示され、文字列の入力ができません。

ArrayList にこだわりはありませんが、プロパティで文字列リストを
編集可能にする方法はありませんか?

Protected _mList As New ArrayList

<Bindable(True), Category("Appearance"), DefaultValue("")> _
Public Property StrList() As ArrayList
    Get
        Return _mList
    End Get
    Set(ByVal Value As ArrayList)
        _mList = Value
    End Set
End Property

引用返信 編集キー/
■61273 / inTopicNo.2)  Re[1]: カスタムコントロールのプロパティで文字列リスト
□投稿者/ shu (922回)-(2011/08/08(Mon) 12:20:09)
No61264 (ひろ さん) に返信

ArrayListはObjectのリストなのでそのようになるのはしょうがないです。

文字列配列とかStringCollectionなどにしないと駄目です。
引用返信 編集キー/
■61275 / inTopicNo.3)  Re[2]: カスタムコントロールのプロパティで文字列リスト
□投稿者/ ひろ (6回)-(2011/08/08(Mon) 12:32:06)
shuさん
回答ありがとうございます。

StringCollection を使ってみましたところ
String コレクションエディタになり、文字列への期待が高まったのですが、
追加をしてみると、

型 System.String にコンストラクタが見つかりませんでした

となってしまいました。

追加するにはどうすれば良いでしょうか?



No61273 (shu さん) に返信
> ■No61264 (ひろ さん) に返信
>
> ArrayListはObjectのリストなのでそのようになるのはしょうがないです。
>
> 文字列配列とかStringCollectionなどにしないと駄目です。
引用返信 編集キー/
■61276 / inTopicNo.4)  Re[3]: カスタムコントロールのプロパティで文字列リスト
□投稿者/ shu (923回)-(2011/08/08(Mon) 13:14:25)
2011/08/08(Mon) 13:14:37 編集(投稿者)
No61275 (ひろ さん) に返信

StringCollection は駄目みたいでしたmm

以下の書き方をして文字列配列と同じデザイン画面で処理すると良いようです。
これはArrayListでも大丈夫なようでした。


Imports System.Collections.Specialized
Imports System.Drawing.Design
Imports System.ComponentModel

・・・


    Private _PropTest As New StringCollection
    <Editor("System.Windows.Forms.Design.StringCollectionEditor, System.Design", _
            GetType(UITypeEditor)), TypeConverter(GetType(CollectionConverter)), _
            DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
    Public Property PropTest As StringCollection
        Get
            Return _PropTest
        End Get
        Set(value As StringCollection)
            _PropTest = value
        End Set
    End Property

引用返信 編集キー/
■61278 / inTopicNo.5)  Re[4]: カスタムコントロールのプロパティで文字列リスト
□投稿者/ shu (925回)-(2011/08/08(Mon) 13:31:05)
こんなのもありました。
http://kz26.web.fc2.com/Note0008.html

コレクションエディタ自体を派生して自作してしまう方法のようです。
引用返信 編集キー/
■61279 / inTopicNo.6)  Re[5]: カスタムコントロールのプロパティで文字列リスト
□投稿者/ ひろ (7回)-(2011/08/08(Mon) 13:47:49)
shuさん

回答ありがとうございます。

提示していただいた属性で解決できました。

Editor属性がまだ良く理解できていないので、
いろいろ勉強しながら進めていきます。

ありがとうございました。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -