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