none
時々、リッチテキストコントロール内の文字の描画が崩れる原因と対策 RRS feed

  • 質問

  • 作成したソフトにて、リッチテキストコントール内に複数行を表示させております。時折、以下のような文字間がつぶれた状態に表示されることがあります。


    正常な表示は以下のような表示です。

    この現象ですが、再現性がなく、発生頻度もあまりありません。

    質問ですが、このような現象に遭遇された方はおられませんでしょうか?あるいはこのような現象が発生した場合、何を調べればよいでしょうか?文字が詰まっているのがわかるのですが、プログラム内で何かを勝手に操作しているものと考えてもいいと思いますが、何を変えていると考えられるでしょうか?

    以上、よろしくお願いします。

    2015年6月8日 0:02

すべての返信

  • リッチテキストコントロールというのは System.Windows.Forms.RichTextBox のことですよね?

    「richtextbox」「フォントが変わる」(richtextbox f まで入力すると候補に出てくる)でググると多々ヒットしますが、それとは関係ない話ですか?

    例えば下記:

    【VB.NET】リッチテキストのフォントが勝手に変更されるのを抑制する
    http://blog.livedoor.jp/akf0/archives/51460770.html

    すでにご自分で検索していてそれとは関係ないことは知っているならその旨書いていただけると回答者のほうも検討する範囲が少なくなって助かります。もしまだ検索で調べていなければやってみてください。

    #質問する際は、一番最初に、何を作っているか(Windows Forms? その他?)、ご自分の環境(OS, .NET, Visual Studio のバージョンなど)に関する情報を書いていただけませんか? ガイドラインも出ていますので目を通していただければと思います。
     
    フォーラムのご利用方法(質問の投稿)について
     https://social.technet.microsoft.com/Forums/ja-JP/home?forum=announceja&announcementId=587d27f8-adc8-432a-905c-81375f8a05ec


    • 編集済み SurferOnWww 2015年6月8日 1:05 誤記訂正
    2015年6月8日 1:03
  • 失礼しました。

    開発言語はVS2008 C#でWindows Formを作成しています。複数のフォームを切り替えて使用しています。開発環境は(主に)Win8Pro(64Bit)+VS2008です。なお、この現象が最初に発生した当時の環境はWin7Pro(64Bit)+C# Expressでした。

    動作環境の方はWindowsXPベースWES(Windows Embeded Standard)(32bit)です。発生しているのはこの環境です。

    開発環境が64bitのため、コンパイルはx86を指定してコンパイルしています。

    ご指定の件は全く知りませんでしたが、組み込んで様子を見ることにします。ただ、こちらの現象ではフォントが変わっていないように見えませんので、該当していない可能性も否定できません。


    2015年6月9日 2:00
  • 追記です。

    教えていただいたサイトを参照して、Form_Loadに"RichText.LanguageOption = RichTextBoxLanguageOptions.UIFonts; "を加えましたが、書き換えするたびに改行幅が変わってしまいます(改行幅が狭くなってしまいます。文字間は干渉していませんが)。

    作成しているソフトがVGAの画面に合わせているものをSXGA画面に拡大して表示しています。また、多言語対応のソフトになっております。

    2015年6月9日 5:00