タイトル : 継承コントロールでプロパティ間の同期 投稿日 : 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 |