0

richTextBox にロードする前に、.txt ファイル (または .rtf) でフォント セットを取得する必要があります。これを行わないと、デフォルトのフォントが設定され、richTextBox.Text のフォントは元の .txt ファイルで設定されたものとは異なります...

RichTextBox から継承されたカスタム TextPanel を扱っています。

    if (File.Exists(file))
            {
                if (Path.GetExtension(file) == ".txt")
                {
                    // I need to get the font here from the path "file" .txt document
                    textPanel = new TextPanel(file, this);
                    textPanel.LoadFile(file, RichTextBoxStreamType.PlainText);

これを行う簡単な方法があると確信していますが、見つけることができません:(

4

3 に答える 3

4

トーマスさん、.txt には、質問で言及していないカスタム ファイル形式がない限り、フォント情報は保存されません。たとえば、メモ帳のテキストの変更は単なる表示機能であり、ファイル自体には何もしません。

RTF はフォント情報を保存し、RTB にプッシュするときにロードする必要があります。

乾杯。

于 2013-01-18T16:21:17.310 に答える
2

プレーンテキストファイルはフォント情報を保存しません。(これらはプレーンテキストファイルであり、テキストのみを保存することを意味します。)ロードされるとき、それらは表示されているコンテナのフォントを使用します。

実際のリッチテキスト(.rtf)ファイルにフォント情報があり、それが.rtfファイルとしてロードされている場合(を使用せず、代わりにRichTextBoxStreamType.PlainText使用)、コードを使用せずに自動的にフォントを設定する必要があります。RichTextBoxStreamType.RichTextRichTextBox

于 2013-01-18T16:25:24.480 に答える
1

TXT ファイルにはヘッダーがありません。これらは、追加のファイル構造や暗黙的な形式 (RTF など) のないプレーン テキスト ファイルです。たとえば、アプリケーションを開いたときにアプリケーションのデフォルトのフォント スタイルを使用したり、デフォルトのメモ帳フォント (Lucida Console、通常、10) を使用したりできます。

于 2013-01-18T16:22:21.633 に答える