- - PR -
デザイナのIListのプロパティに文字列を入力する方法について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-08-04 12:56
こんにちは。こんと言います。
現在、UserControlを使用してカスタムコントロールを作成しています。 カスタムコントロールでIListのプロパティを定義して、 デザイナから、そのリストの中身を編集したいと思っています。 (IList内のオブジェクトはstring) プロパティを追加すると、デザイナの[プロパティ]→[その他]に、プロパティ名がでてきます。 そこで、...ボタンをクリックすると、Objectコレクションエディタが開き 追加ボタンを押すと、System.Objectと出てくるのですが何も編集できません。 文字列を入力できるようにする事は可能でしょうか? 皆様にお知恵を拝借したく、よろしくお願いいたします。 (参考ソース) public partial class SampleUserControl : UserControl { private IList _valueList = new ArrayList(); public IList ValueList { get{return _valueList;} set{_valueList = value;} } } 上記クラスをデザイナ上でFormなどに貼り付けプロパティを編集 ※ ちなみにIListをジェネリック型にしても、StringCollectionにしても だめでした。。。 よろしくお願いいたします。 m(__)m | ||||
|
投稿日時: 2008-08-04 13:08
.Net Framework2.0 VS2005 C#
ListBoxのItemsプロパティのような感じであれば、このように実現できます。
要件がよくわからないのでなんともいえないのですが、 必要な機能に応じて、コレクションエディタを実装する必要があるかと思います。 ご参考までに・・ UITyepEditor: http://msdn.microsoft.com/ja-jp/library/system.drawing.design.uitypeeditor.aspx # ValueList の setの必要性は考慮したほうがよろしいかと思います。 [ メッセージ編集済み 編集者: Toshi 編集日時 2008-08-04 13:09 ] [ メッセージ編集済み 編集者: Toshi 編集日時 2008-08-04 13:27 ] | ||||
|
投稿日時: 2008-08-04 13:26
Toshiさん、早速のご返信ありがとうございます!
文字列、入力できるようになりました。 なのですが、文字列を入力しても保存されていないような感じで。。。 (U_U; これは、Toshiさんがいうsetプロパティに何かしらコードを追記する必要があるのでしょうか? 何かヒントを頂ければなと。。。 よろしければ、よろしくお願いいたします。 | ||||
|
投稿日時: 2008-08-04 13:33
すいません、割愛しすぎました・・・
[Editor(…)] ここでは、どの種類のコレクションEditorを開くのかを指定することしかできません。 実際にコレクションエディタに値をいれても、Desingerクラスにはコードは記載されていないと思います。 適切な属性をプロパティにつける必要があります。 ここでは少なくとも、
としないと、保持はされません。 #UserControlを作成するのであれば、プロパティにつける属性など #後々のために調べておいたほうがよいと思います。 [ メッセージ編集済み 編集者: Toshi 編集日時 2008-08-04 13:49 ] | ||||
|
投稿日時: 2008-08-04 13:41
すごい!できました。
Toshiさん、本当にありがとうございました。 とても助かりました。 (#^^#) |
1