tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトル継承コントロールでプロパティ間の同期
記事No6583
投稿日: 2007/11/26(Mon) 18:31
投稿者zark
TextBoxの継承コントロールを使用して数値入力を行おうとしています。

・Textプロパティではカンマ編集された文字列
・Valueプロパティでカンマ編集なしの値

を設定、取得できるようにしているのですが、デザイナ上でプロパティウィンドウの値を変
更して、TextプロパティとValueプロパティが同期できるようにするにはどのようすればよろ
しいのでしょうか?
以下のコードではプロパティウィンドウでText変更後にValueにカーソルを移動すると値が変
わります。(逆も)カーソルを移動しなくても変わるようにしたいのです。

'Value プロパティ
Public Property Value() As Decimal
    Get
        Try
            Return Decimal.Parse(Me.Text)
        Catch ex As Exception
            Return 0
        End Try
    End Get
    Set(ByVal value As Decimal)
        Try
            MyBase.Text = Format(Decimal.Parse(value), "#,##0")
        Catch ex As Exception
            MyBase.Text = ""
        End Try
    End Set
End Property

'OnTextChanged イベント
Protected Overrides Sub OnTextChanged(ByVal e As System.EventArgs)
    Try
        Dim value As Decimal = Decimal.Parse(MyBase.Text)
        Me.Value = value
        MyBase.Text = Format(value, "#,##0")
    Catch ex As Exception
        Me.Value = 0
    End Try
    MyBase.OnTextChanged(e)
End Sub

[ツリー表示へ]
タイトルRe: 継承コントロールでプロパティ間の同期
記事No6584
投稿日: 2007/11/27(Tue) 10:55
投稿者zark
RefreshPropertiesで解決しました。

[ツリー表示へ]