テキストボックスの内容によってDeleteキーによる削除をキャンセルしたい
- 題名: テキストボックスの内容によってDeleteキーによる削除をキャンセルしたい
- 著者: DepDori
- 日時: 2012/04/06 18:39:48
- ID: 30232
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: テキストボックスの内容によってDeleteキーによる削除をキャンセルしたい
- 著者: shu
- 日時: 2012/04/07 0:16:26
- ID: 30233
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: テキストボックスの内容によってDeleteキーによる削除をキャンセルしたい
- 著者: じゃんぬねっと
- 日時: 2012/04/10 11:23:20
- ID: 30265
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: テキストボックスの内容によってDeleteキーによる削除をキャンセルしたい
- 著者: shu
- 日時: 2012/04/11 7:47:38
- ID: 30273
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
はじめまして。
現在、数値を入力する専用のテキストボックスカスタムコントロールを作成しています。
整数と小数の両方に対応しており、0.01〜99.99の値が入力できるモノです。
ttp://jeanne.wankuma.com/tips/vb.net/textbox/permitchars.html
上記のサイトのコードを参考にし、
入力文字の制限と入力桁数のチェックを行うテキストボックスが完成しました。
(例えば 10.1 と入力されていたら、少数部には入力できるが整数部には入力できない)
ここで問題が発生しまして、
10.1 と入力されているとき、小数点のみを消すと 101 という入力できてはいけない数字が入ってしまいます。
そこで、削除後の結果が 0.01〜99.99 の範囲外になるときは、
削除処理をキャンセルする仕様にしようと考えました。
Backspaceキーによる削除は
OnCharメソッドでキーの入力感知と、入力のキャンセルが出来るので
削除内容と削除後のテキストボックスの中身をチェックするロジックを組み、
場合に応じて、キャンセルするように出来ました。
しかしDeleteキーによる削除の場合、
OnCharメソッドで入力を拾うことが出来ないらしく
Backspaceのときと同じ動作をすることができません。
どのようにすれば、Deleteキーの入力感知とキャンセルが出来るでしょうか。
<追加の質問>
WndProcで、ウィンドウスメッセージのWM_CLEARって感知できないんですかね?