プロが教える店舗&オフィスのセキュリティ対策術

VB.NETのテキストボックスなのですが、
マルチラインのテキストボックスで
行の桁数を10桁などに制限したいです。

全角半角混在などの処理もしないとならないと思うのですが、
良い方法などありましたらアドバイス頂ければ幸いです。
よろしくお願い致します。

A 回答 (1件)

TextChanged等のイベントハンドラで


・改行コード(vbCrLf等)を数えて、9になったらそれ以上改行できなくする。
・文字列が貼り付けされた場合で、改行コードが10個以上有り、それ以降も文字列が続く場合は10個目以降の文字列を取り除く…等々
の処理を行えばよいと思います。
あ、右端での自動折り返しを設定していた場合(改行コード無しで改行される場合)は、上記方法ではNGですね…。


代案。
.NETならTextBoxに行数を取得できるプロパティがあったかもしれない(Linesだったかな?)。これが実行数を数えているなら利用できるかと思います。こちらのプロパティも結局改行コードの数を返すのなら上記と同じ問題が発生します。手元にVBが無いので、ちょっとそこは試してみてください。

VB6ではなにかAPIを利用したように記憶しております。
.NETでも最終手段はそれになるかもしれません。
    • good
    • 0
この回答へのお礼

TextChangedイベントで判断する方法でやってみたいと思います。
ご回答ありがとうございました。

お礼日時:2008/11/05 22:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています