- 題名: TextBoxのフォーマット指定
- 日時: 2005/02/01 10:30:17
- ID: 8832
- この記事の返信元:
- (なし)
- この記事への返信:
- [8834] Re[1]: TextBoxのフォーマット指定2005/02/01 10:40:02
- ツリーを表示
じゃんぬねっと です。こんにちは。
■No8835に返信(あのねさんの記事)
> 重ね重ね申し訳ないのですが、もし良ければ、
> 参考にソースの端っこを見せてもらえないでしょうか?
もちろん構いません。
あのページでも、ソースを公開しようと準備しているのですが、
これまた休日に限って忙しいので、全然できていません (^-^;)
> 作成したユーザーコントロールは、今席を置いているチーム全体で使うことになると思われます。
> ので、参考にしつつ、チーム色に作りこみしたいと思ったのですが・・・。
そうですね、その方がいいでしょう。
> もちろん、無理は言わないです。
> 「実際にできるんだ」と分かっただけでも十分励みになりますので(`・ω・´)
ん? VB.NET で宜しかったですか?
極力要らない部分は、削除しております。
Source Begin:--------------------------------------------------------------
''' ---------------------------------------------------------------------
''' <summary>
''' 書式設定や入力タイプなどを定義した TextBox コントロール クラス。
''' </summary>
''' ---------------------------------------------------------------------
Public NotInheritable Class ExTextBox
Inherits System.Windows.Forms.TextBox
#Region " Define "
' プロパティ 変数
Private _Format As String
#End Region
#Region " プロパティ − Format "
''' -----------------------------------------------------------------
''' <summary>
''' フォーカスを失った際の再フォーマットの書式を取得または設定します。
''' </summary>
''' -----------------------------------------------------------------
<Description ("フォーカスを失った際の再フォーマットの書式です。"), _
Category ("追加定義プロパティ"), _
DefaultValue(""), _
ParenthesizePropertyName(True)> _
Public Property Format() As String
Get
Return _Format
End Get
Set(ByVal Value As String)
_Format = Value
End Set
End Property
#End Region
#Region " イベント − this :: Enter() "
Private Sub ExTextBox_Enter(略) Handles MyBase.Enter
Me.Text = GetReleaseFormatText(Me.Text, Me.Format)
Me.SelectAll()
End Sub
#End Region
#Region " イベント − this :: Leave() "
Private Sub ExTextBox_Leave(略) Handles MyBase.Leave
Me.Text = GetRestoreFormatText(Me.Text, Me.Format)
End Sub
#End Region
Source End:----------------------------------------------------------------
以下の 2 点のメソッドを独自に組んで頂ければ良いのではないかと思われます。
GetReleaseFormatText() メソッド ・・・ フォーマットを解放する (カンマを外したり、小数点外したり)
GetRestoreFormatText() メソッド ・・・ フォーマットを設定する (カンマ区切りにしたり、小数点付けたり)
# 私がまだ .NET をやり始めたばかりに作ったソースで、
# ちょっと汚いかもしれませんが、その辺りはご留意ください。m(_ _)m
分類:[.NET]
おはようございます。
質問攻めですみません、あのね です。
VB.NETでの開発を行うとき、TextBoxを使用することって
結構あるかと思います。
私も、沢山のTextBoxを扱いながら作業を進めています。
今回の質問は、
『TextBoxに、予めフォーマットの指定をしておくことは
できないの??』
ということなのです。
・数値を入力するTextBox(txtNum)がある。
・txtNumの入力値を、"#,##0"のフォーマットで表示したい。
・このフォーマットを整える処理をリアルタイムで行いたい。
(↑4桁目の数を入力すると同時に","が表示される)
・・・という処理を行いたいと思っているのですが、
TextBoxには、フォーマットを指定するプロパティってないですよね?
KeyPressイベントを拾い、都度、処理をかけようかとしたのですが、
それも上手くいきませんでした。
(力量不足かΣ(゚□゚*)!?)
この処理を行いたい部分(TextBox)が沢山あるので、
1つ、ユーザーコントロールを作ってしまおうかと思っていたのですが、
それ以前の問題で行き詰ってしまいました^^;
どなたか同じような処理をされている方がいらっしゃいましたら、
助言いただきたく・・・。
よろしくお願いいたします。