- - PR -
textboxの複数行表示が崩れる
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-03-27 11:41
質問1
textBoxの表示が崩れる原因が分かりません。 質問2 textBoxのプロパティ群の設定が気にはなっているのですが、 数が多すぎて、どのプロパティに着目すれば良いか分かりません。 症状 textBoxに"\r\n"混じりの文字列を代入する時、表示が崩れることがあります。 具体的には、左端の空白が勝手に削除されたり、1行中の表示順序が逆転したりします。 フォントの文字化けは一切起こっていません。 特定の文字パターンの場合に必ず再現します。 文字列をテキストファイルに吐き出してメモ帳で開いてみると 崩れずに表示されることから、textBoxが勝手に整形を試みているように思えます。 環境 ・WindowsXP Pro + VS .NET 2003 ・Windowsアプリケーション textBoxの設定 ・Multilineプロパティ=True ・フォントは全てMSゴシック 文字列の性質 ・漢字が入っています。 ・整形のため"\r\n"が挿入されています。 ・"\r\n"以外にエスケープシーケンスは使われていません。 ・1行(つまり\r\nまで)の横幅はtextBoxよりも短く収まるように整形されています。 ・特殊な漢字は含まれていません。(JISでいうと第一水準相当) // 一応こんな感じです。 // 実機が近くにないので少ない情報ですみません textBox1.Multiline = true; … const string NewLine = "\r\n"; StringBuilder sb = new StringBuilder(); sb.Append(" …日本語… "); … sb.Append(" …日本語… "+NewLine); sb.Append(" …日本語… "); … sb.Append(" …日本語… "+NewLine); … string str = sb.ToString(); // strをテキストファイルに出力しメモ帳で表示しても崩れません // けれどもtextBox1の表示は崩れることがあります textBox1.Text = str; textBox1.Update(); … |
1