C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[3]: MaskedTextBoxでデータ検証
(過去ログ 118 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 4 記事 (1 - 4 表示)] <<
0
>>
■69467
/ inTopicNo.1)
MaskedTextBoxでデータ検証
▼
■
□投稿者/ カイト
(1回)-(2013/12/27(Fri) 23:03:17)
分類:[C#]
マスクドテキストボックスに入力された値が時間・分(HHMM形式)か検証したいと思いますが、可能でしょうか?
入力文字は、
「1259」、「2348」、「0101」⇒OK
「1260」、「2513」、「0078」⇒NG
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.maskedtextbox.typevalidationcompleted
(v=vs.110).aspx
上記URLにより、MaskedTextBox.TypeValidationCompleted イベントを使えばできそうな感じがしています。
フォームロード時
maskedTextBox1.Mask = "0000";
maskedTextBox1.ValidatingType = typeof(System.DateTime);
TypeValidationCompletedイベント発生時には下記のようなことがおこります。
MaskedTextBox コントロールがフォーカスを失ったとき、イベント発生。
DateTime.Parseメソッド呼び出し。
Parseできない場合は、Falseが返る。
Parseで上手く「HHMM」のところを表現できないかなと思っています。
DateTime.TryParseExactができればいいのですが、Parseでもなんとかならないでしょうか?
もしくは、あきらめてValidatingイベントで、その中でDateTime.TryPaseExactメソッドを使って「HHMM」を表現しないとダメでしょうか?
宜しくお願い致します。
引用返信
編集キー/
編集
■69468
/ inTopicNo.2)
Re[1]: MaskedTextBoxでデータ検証
▲
▼
■
□投稿者/ Hongliang
(150回)-(2013/12/28(Sat) 08:12:26)
直接DateTimeで検証するのではなく、Parseメソッドを提供する独自型を定義してそれをValidatetingTypeにすればいいのではないでしょうか。
引用返信
編集キー/
編集
■69469
/ inTopicNo.3)
Re[2]: MaskedTextBoxでデータ検証
▲
▼
■
□投稿者/ カイト
(2回)-(2013/12/28(Sat) 08:50:15)
Hongliang さん
なるほど、独自型を定義するという考えは思いつきませんでした。ありがとうございました。
■
No69468
(Hongliang さん) に返信
> 直接DateTimeで検証するのではなく、Parseメソッドを提供する独自型を定義してそれをValidatetingTypeにすればいいのではないでしょうか。
引用返信
編集キー/
編集
■69470
/ inTopicNo.4)
Re[3]: MaskedTextBoxでデータ検証
▲
▼
■
□投稿者/ カイト
(3回)-(2013/12/28(Sat) 08:50:22)
■
No69469
(カイト さん) に返信
> Hongliang さん
>
> なるほど、独自型を定義するという考えは思いつきませんでした。ありがとうございました。
>
> ■
No69468
(Hongliang さん) に返信
>>直接DateTimeで検証するのではなく、Parseメソッドを提供する独自型を定義してそれをValidatetingTypeにすればいいのではないでしょうか。
>
>
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-