c#Rich text代码中的格式错误

时间:2011-09-26 22:02:26

标签: c# escaping richtextbox rtf

希望你能提供帮助

我有以下代码

List<string> comconfig = populate.resolveconfig(_varibledic, populate.GetVaribles[0].Substring(populate.GetVaribles[0].IndexOf("=") + 1)); //get the aray of strings
            string config = ""; //create a empty otput string
            config = @"\rtf1\ansi\deff0\deftab240 {\fonttbl {\f000 Monaco;} {\f001 Monaco;} } {\colortbl \red255\green255\blue255; \red000\green000\blue000; \red255\green255\blue255; \red000\green000\blue000; }";
            config = config + @"\f96\fs20\cb3\cf2 \highlight1\cf0 "; // assigned rtf header to output string 

            foreach (var strings in comconfig) //loop though array adding to output string
            {
                config = config + strings + @"\par ";
            }
            config = config + "}"; //close of RTF code

因此尝试创建一个我以后可以显示的RTF字符串。 comconfig是一个字符串数组,其中有一些RTF标记用于突出显示和填充。

麻烦的是,如果我使用@然后我得到双\哪乱搞RTF,如果我不使用它们,那么逃避charatures搞乱代码?

通过添加预先格式化的RTF标头和中间的字符串aray来构建此字符串的最佳方法是什么。它最终显示在RTF.textbox中。或在用户请求时转换为纯文本字符串。我需要忽略逃避问题而不搞乱RTF?

干杯

亚伦

1 个答案:

答案 0 :(得分:2)

不,你没有得到双\。你会被字符串的调试器显示所困扰。它显示了如果你用C#在没有@的情况下编写字符串的话。单击最右侧的间谍玻璃图标,然后选择Text Visualizer。