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

Thomas,.txt 不存储字体信息,除非您有一个您没有在问题中注明的自定义文件格式。例如,更改记事本中的文本只是一种显示功能,对文件本身没有任何作用。

RTF 确实存储了字体信息,并且应该在您将其推送到 RTB 时加载。

干杯。

于 2013-01-18T16:21:17.310 回答
2

纯文本文件不存储字体信息。(它们是文本文件,这意味着它们只存储文本。)加载它们时,它们使用显示它们的容器的字体。

如果实际的富文本 ( .rtf) 文件具有字体信息,并且它作为 .rtf 文件加载(不要使用RichTextBoxStreamType.PlainTextRichTextBoxStreamType.RichText而是使用),则RichTextBox应该自动为您设置字体,而无需涉及任何代码。

于 2013-01-18T16:25:24.480 回答
1

TXT 文件没有标题。它们是纯文本文件,没有任何额外的文件结构或隐式格式(如 RTF)。例如,您可以使用打开应用程序时的默认字体样式...或默认记事本字体(Lucida Console,正常,10)。

于 2013-01-18T16:22:21.633 回答