フォームアプリケーション(Form1)上でTextBoxを配置し、
TextBox内の入力桁数を制限したいと思っています。
最大半角12桁/全角6桁
単に入力数を宣言するにはプロパティのMaxlengthに数値を入れれば良いですが
半角と全角で設定したいときはどうすればよいですか。
データベースに入れる時の制限のためなら不要です。Unicode で入れればいいだけです。
データベースの情報を得るための検索条件用のテキストボックスなのですが…
不要ですね。いまどき Shift_JIS で新しくテーブルを作る必要はありませんし、検索に関しても同様です。
もし古いシステムのメンテナンスでどうしても必要になったのであれば、TextBox の Validating イベントでテキストを Shift_JIS に変換し、その総バイト数が制限を超えた時に e.Cancel を true にすれば入力がキャンセルされます。同時にエラーメッセージを出すと良いでしょう。
間違えました。入力がキャンセルされるのではなく、テキストを修正するまでそのテキストボックスから出られなくなる、が正解です。ほかのボタンを押したりウィンドウを閉じたりできなくなります。
Validatingを使えばいいんですね、初めて見ました。ありがとうございます!
Zuishinさん、このやり取りの内容を整理して回答に書かないと、この質問解決済みにならないかもしれません

回答2件
あなたの回答
tips
プレビュー