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

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

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

Re[3]: カスタムコントロールのデザインモード時のプロパティ


(過去ログ 102 を表示中)

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

■61158 / inTopicNo.1)  カスタムコントロールのデザインモード時のプロパティ
  
□投稿者/ ひろ (1回)-(2011/08/04(Thu) 11:19:46)

分類:[ASP.NET (VB)] 

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

カスタムコントロールを作成してプロパティをデザインモード時に表示、変更に可能にしているのですが、自分で作ったクラスのプロパティが設定できません。

下記のソースで System.Drawing.Font クラスをプロパティにしている
TitleFont はデザイン時にフォントのプロパティを設定できますが、
自分で作成したクラス MyClass をプロパティにしている
MyObj はデザイン時にグレーアウトしてしまい、プロパティ設定が
できません。

クラスをプロパティ設定可能にする方法はありませんか?


<Bindable(True), Category("Appearance"), DefaultValue("")> _
Public Property TitleFont() As System.Drawing.Font
    Get
        Return _mTitleFont
    End Get
    Set(ByVal Value As System.Drawing.Font)
        _mTitleFont = Value
    End Set
End Property


<Bindable(True), Category("Appearance"), DefaultValue("")> _
Public Property MyObj() As MyClass
    Get
        Return _mMyObj
    End Get
    Set(ByVal Value As MyClass)
        _mMyObj = Value
    End Set
End Property

Public Class MyClass
    Protected _mMyInt As Integer
    Protected _mMyStr As String

    Public Property MyStr() As String
        Get
            Return _mMyStr
        End Get
        Set(ByVal Value As String)
            _mMyStr = Value
        End Set
    End Property

    Public Property MyInt() As Integer
        Get
            Return _mMyInt
        End Get
        Set(ByVal Value As Integer)
            If Value > 0 Then
                _mMyInt = Value
                _mLineStep = (_mMaxValue - _mMinValue) / _mMyInt
            End If
        End Set
    End Property
End Class

引用返信 編集キー/
■61159 / inTopicNo.2)  Re[1]: カスタムコントロールのデザインモード時のプロパティ
□投稿者/ ひろ (3回)-(2011/08/04(Thu) 11:31:44)
.netフレームワーク 1.1
VS2003
ASP.NET(VB)

カスタムコントロールを作成してプロパティをデザインモード時に表示、変更可能に
しているのですが、自分で作ったクラスのプロパティが設定できません。

下記のソースで System.Drawing.Font クラスをプロパティにしている
TitleFont はデザイン時にフォントのプロパティを設定できますが、
自分で作成したクラス MyClass をプロパティにしている
MyObj はデザイン時にグレーアウトしてしまい、プロパティ設定が
できません。

クラスをプロパティ設定可能にする方法はありませんか?


<Bindable(True), Category("Appearance"), DefaultValue("")> _
Public Property TitleFont() As System.Drawing.Font
Get
Return _mTitleFont
End Get
Set(ByVal Value As System.Drawing.Font)
_mTitleFont = Value
End Set
End Property


<Bindable(True), Category("Appearance"), DefaultValue("")> _
Public Property MyObj() As MyClass
Get
Return _mMyObj
End Get
Set(ByVal Value As MyClass)
_mMyObj = Value
End Set
End Property

Public Class MyClass
Protected _mMyInt As Integer
Protected _mMyStr As String

Public Property MyStr() As String
Get
Return _mMyStr
End Get
Set(ByVal Value As String)
_mMyStr = Value
End Set
End Property

Public Property MyInt() As Integer
Get
Return _mMyInt
End Get
Set(ByVal Value As Integer)
_mMyInt = Value
End Set
End Property
End Class

引用返信 編集キー/
■61160 / inTopicNo.3)  Re[2]: カスタムコントロールのデザインモード時のプロパティ
□投稿者/ やじゅ (1935回)-(2011/08/04(Thu) 13:03:35)
やじゅ さんの Web サイト
2011/08/04(Thu) 13:14:24 編集(投稿者)

No61159 (ひろ さん) に返信

TypeConverter属性、ExpandableObjectConverterあたりを調べてみるとか

デザイナーで、展開可能なプロパティを持つ Visual Basic .NET を使用して Web コントロールを作成
http://support.microsoft.com/kb/319626/ja

自作したクラスに使ってみよう
http://dobon.net/vb/dotnet/control/propertygrid.html

C# プロパティエディタでクラスのプロパティを展開可能にするには
http://futuremix.org/2009/10/expandable-property-on-visual-studio-property-editor

引用返信 編集キー/
■61182 / inTopicNo.4)  Re[3]: カスタムコントロールのデザインモード時のプロパティ
□投稿者/ ひろ (4回)-(2011/08/04(Thu) 18:02:15)
やじゅ様

返信ありがとうございます。

> 自作したクラスに使ってみよう
> http://dobon.net/vb/dotnet/control/propertygrid.html

こちらの方法で実現できました。


解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -