テキストボックスのMaxLengthをバイト数で指定
サンプル集(.NET2003/VB2005) No.141 の実行結果

テキストボックスの MaxLength は文字数で制限されるが半角1バイト換算でのバイト数で制限したい場合がある。
VB6.0 ならでEM_LIMITTEXTをSendMessage すれば実現できたけど.NET では文字数になってしまった。
そこで自作関数を作成して見ました。ネットでよく見かけるサンプルは、漢字文字等を挿入すると先頭に挿入されたり、文字列が変な切れ方等しますが、当サンプルではそれらを改善している。

 上記実行図は、 12
あいう3あい 赤字の部分を漢字で入力した結果です。



VBレスキュー(花ちゃん)
VB.NET2003  VB2005