タイトル : Re^4: 数値入力設定 投稿日 : 2012/01/28(Sat) 00:24 投稿者 : ミッキー
あったんさんの要望をまとめると 1.テキストボックスに数値を入力した際、 "12.34", "12.30", "12.00" といった具合に 小数点第2位まで表示したい 2.該当のテキストボックス内にフォーカスが残っている状態でも 小数点第2位まで表示したい 3.タイマーコントロールで制御している。 が、例えば「12.34」と打ち込みたいとき 「1」「2」「.」まで打ち込むと"12.00"と表示されてしまう。 「3」を打つと "312.00" になってしまい、これではダメ でよろしいですか? だとすると、例えば「12.」まで打ち込んだとします。 PCは「最終的には 12.00 〜 12.99 のどれかになる」と認識します。 小数点を打ってから少数第1位を入力するまで1分かかりました。 この場合、PCに A.ある程度時間が経過したし、"12.00" でいいだろう と判断させるか、はたまた B.しばらく入力がないが、"12.00"以外の可能性はあるので待ってみる と判断させるか、どちらですか? Aと判断させたい → タイマーで入力経過時間をみていればいい Bと判断させたい → フォーカスが離れるまで待機。LostFocus イベントで処理。 だと思いますが・・・ 文字入力位置を制御する方法もありますね。 例えば小数点を打たれた後の数字を、小数点第1位に来るようにする. 元々、小数点第1位に 0 があった場合は、その 0 と置き換える。 それかサードパーティのコントロールを使用するか、ですかね。 |