テキストボックスに長い文字列をペーストすると途中でテキストが途切れる - C#

テキストボックスに長い文字列をペーストすると途中でテキストが途切れる場合があります。

再現手順

UI

以下のUIを作成します。MultiLinesプロパティをtrueにしたTextBoxを配置します。(Anchorプロパティを"Left,Top,Right,Bottom"にします。)

コード

(コードは記述しません)

実行結果

プロジェクトを実行します。下図のウィンドウが表示されます。


大きなテキストファイルをメモ帳などで開きすべてをコピーします。


アプリケーションのテキストボックスに貼りつけます。が、途中までしか貼りつけられていないことが確認できます。この状態でテキストボックスに追記しても文字の入力もできません。

原因

WindowsフォームのTextBoxを配置した際にデフォルトではMaxLengthプロパティの値が"32767"になるため、長い文字列は入力を受け付けないことが原因です。

対策

以下の修正をします。

WindowsフォームデザイナでTextBoxを選択します。プロパティウィンドウのMaxLengthプロパティを確認します。デフォルトでは値は"32767"になっています。


値を"0"に変更します。


アプリケーションを実行し、再度テキストを貼り付けます。末尾までテキストがペーストできていることが確認できました。


TextBoxで長いテキストを扱う場合はMaxLengthプロパティを変更し忘れないよう注意してください。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2014-03-03
iPentec all rights reserverd.