- PR -

ImageUrlEditorで例外

1
投稿者投稿内容
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2004-05-17 15:01
お世話になっております。
VS2003 VB.NETで開発しております。

カスタムコントロールを開発しているのですが
ImageUrlEditorAttributeを付加したプロパティをフォームデザイナ上のPropertyGridから
編集しようとして...ボタンをクリックすると
「オブジェクト参照がオブジェクトインスタンスに設定されていません。」
という例外が発生してしまします。

このプロパティは
<TypeConverter(GetType(ExpandableObjectConverter))>
を付加したクラスのプロパティで、入れ子になっています。

また、カスタムコントロールのプロパティとして入れ子にしないとうまくいきます。。。


お世話になっております。
VS2003 VB.NETで開発しております。

カスタムコントロールを開発しているのですが
ImageUrlEditorAttributeを付加したプロパティをフォームデザイナ上のPropertyGridから
編集しようとして...ボタンをクリックすると
「オブジェクト参照がオブジェクトインスタンスに設定されていません。」
という例外が発生してしまします。

このプロパティは
<TypeConverter(GetType(ExpandableObjectConverter))>
を付加したクラスのプロパティで、入れ子になっています。

また、カスタムコントロールのプロパティとして入れ子にしないとうまくいきます。。。


Public Class CustomDataGrid
Inherits System.Web.UI.WebControls.Literal

Private _openedImageUrl As String = ""
Private _pagerStyle As PagerStyle = New PagerStyle

<Browsable(True), _
Category("アイコン"), _
Editor(GetType(System.Web.UI.Design.ImageUrlEditor), GetType(System.Drawing.Design.UITypeEditor))> _
Public Property OpenedImageUrl() As String

Get
Return Me._openedImageUrl
End Get

Set(ByVal Value As String)
Me._openedImageUrl = Value
End Set

End Property

<Browsable(True), _
Category("スタイル"), _
DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
Public Property [PagerStyle]() As PagerStyle

Get
Return Me._pagerStyle
End Get

Set(ByVal Value As PagerStyle)
Me._pagerStyle = Value
End Set

End Property

End Class


Public Class PagerStyle

Private _buttonImageUrl As String = ""

<Browsable(True), _
NotifyParentPropertyAttribute(True), _
Editor(GetType(System.Web.UI.Design.ImageUrlEditor), GetType(System.Drawing.Design.UITypeEditor))> _
Public Property ButtonImageUrl() As String

Get
Return Me._buttonImageUrl
End Get

Set(ByVal Value As String)
Me._buttonImageUrl = Value
End Set

End Property


End Class


このソースでCustomDataGrid.PagerStyle.ButtonImageUrlを
デザイナから編集しようとすると、例外が発生してしまいます。
入れ子になったプロパティではEditorは使用できないのでしょうか?
ご存知の方、いらっしゃいましたらご教授お願いします。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-05-17 15:56
burton999さん、こんにちは。

私の場合、ImageUrlEditor を継承するカスタムのイメージURLエディタを作成し、EditValue メソッドをオーバーライドすることで対処しました。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2004-05-17 17:20
きくちゃん様、レスありがとうございます。
ImageUrlEditorを継承してEditValueをオーバーライドして対処したとのことですが
ネットに情報が少なくて苦戦しております。
いまだ、例外が発生する原因もわからずじまいです。。。
なにか参考になるサイトなどはありますでしょうか?

よろしくお願いいたします。

きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-05-17 19:45
burton999さん、こんばんは。

引用:

ネットに情報が少なくて苦戦しております。
いまだ、例外が発生する原因もわからずじまいです。。。
なにか参考になるサイトなどはありますでしょうか?


ごめんなさい、原因等、この障害に関する情報は私も見つけていません。

ちなみに、オーバーライドした EditValue メソッドの中では、System.Web.UI.Design.UrlBuilder クラスの BuildUrl メソッドを呼び出しています。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2004-05-18 10:10
PagerStyleに親のCustomDataGridの参照を持たせて
このサイトを参考にしてImageUrlEditorを派生したら実現はできました。
http://www.artima.com/forums/flat.jsp?forum=152&thread=38250

しかし、まだ不明な点も多く、全てを理解できてない状態です。。。
とりあえず、かたづけなくてはいけない仕事が山積みなので
落ち着いたら再度、調査してみようと思います。
きくちゃん様、ご教授ありがとうございましたm(__)m
1

スキルアップ/キャリアアップ(JOB@IT)