読者です 読者をやめる 読者になる 読者になる

森理 麟(moririring)のプログラマブログ

ゲームプログラマ森理 麟がのプログラムの話題を中心に書くブログです。

C#アプリの作り方入門〜「きほん」の「ほ」〜 その5 複数行テキストボックスのこだわり

わんくま勉強会 C#

Text
Text

世の中にゃshift_jisの方が多い

選択したファイルはStreamReaderでロードしますが、ファイル名だけを渡すと文字コードUTF-8です。

しかし、通常のテキストファイルはshift_jisの方が多いです。

殆どのテキストエディタでのデフォルトのセーブがshift_jisだからです。

そこでロードする文字列はshift_jisにしておく方が無難と言えるかもしれません。

複数行テキストボックスもReadOnly

さらに、複数行テキストボックスです。

複数行テキストボックスを編集出来るようにしてしまうと、それを保存したくなります。

つまりセーブ処理です。今回はそういった趣旨ではないので手っ取り早く読み取り専用にしましょう。

ここも一行テキストボックスと同様ReadOnlyをfalseにしましょう。

表示領域オーバーにはスクロールバー

また、このテキストボックスはロードする文章によって表示領域以上に描画されてしまいます。

平たく言うと、でかいファイルだと内容が読めません。

この場合はスクロールバーを付ければ読むことが出来ます。

パラメータのScrollBarsも有効にしましょう。縦、横両方共に必要です。

スクロールバーのトラップとその対応

しかし、ココにトラップがあります。

bothを選んでも横のスクロールバーが有効になりません。

理由はテキストが右はじまで来たら自動的に改行する機能が有効になっているからです。

WordWrapをfalseにしましょう。これで縦横共にスクロール可能になります。