叶帆

VS2005字符串资源不能识别转义字符

0
阅读(2106)

在做LED媒体播放室多语言版本的时候,遇到这么一个问题, 检查office2003是否存在,如果不存在则弹出一个警告窗体。由于是多语言版本,所以弹出的信息来源于资源文件。

     
如果对提取的资源字符串不做任何处理,则弹出如下的对话框:
   
(注:如果运行系统为XP,字符串在一行显示,Vista系统的对话框有了自动换行的功能了)
     所以没有办法,代码做了如下修改:    
 /// <summary>
        /// 获取变量值
        /// </summary>
        /// <param name="strName"></param>
        /// <returns></returns>
        public string GetString(string strName)
        {
            return GetString(strName, string.Empty);
        }
        public string GetString(string strName,string default_value)
        {
            string strValue;
            try
            {
                strValue = rm.GetString(strName);
                if (strValue.Length > 0)
                {
                     return strValue.TrimEnd(new char[]{'\r','\n'}).Replace("\\r\\n","\r\n") ;
                }
                else
                {
                    return default_value;
                }
            }
            catch //(Exception ex)
            {
                return default_value;
            }
        }
      这时候,弹出的对话框信息方才正确,如下图: