• ベストアンサー

テキストボックス行の桁数を制限したいです VB.NET

VB.NETのテキストボックスなのですが、 マルチラインのテキストボックスで 行の桁数を10桁などに制限したいです。 全角半角混在などの処理もしないとならないと思うのですが、 良い方法などありましたらアドバイス頂ければ幸いです。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • NYOI
  • ベストアンサー率58% (56/96)
回答No.1

TextChanged等のイベントハンドラで ・改行コード(vbCrLf等)を数えて、9になったらそれ以上改行できなくする。 ・文字列が貼り付けされた場合で、改行コードが10個以上有り、それ以降も文字列が続く場合は10個目以降の文字列を取り除く…等々 の処理を行えばよいと思います。 あ、右端での自動折り返しを設定していた場合(改行コード無しで改行される場合)は、上記方法ではNGですね…。 代案。 .NETならTextBoxに行数を取得できるプロパティがあったかもしれない(Linesだったかな?)。これが実行数を数えているなら利用できるかと思います。こちらのプロパティも結局改行コードの数を返すのなら上記と同じ問題が発生します。手元にVBが無いので、ちょっとそこは試してみてください。 VB6ではなにかAPIを利用したように記憶しております。 .NETでも最終手段はそれになるかもしれません。

goo081102
質問者

お礼

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

すると、全ての回答が全文表示されます。

関連するQ&A