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

     

VS2005字符串资源不能识别转义字符_第1张图片

     如果对提取的资源字符串不做任何处理,则弹出如下的对话框:

    

VS2005字符串资源不能识别转义字符_第2张图片

     (注:如果运行系统为XP,字符串在一行显示,Vista系统的对话框有了自动换行的功能了)

     所以没有办法,代码做了如下修改:    

   
   
   
   
  1. ///   
  2.        /// 获取变量值  
  3.        ///   
  4.        ///   
  5.        ///   
  6.        public string GetString(string strName)  
  7.        {  
  8.            return GetString(strName, string.Empty);  
  9.        }  
  10.  
  11.        public string GetString(string strName,string default_value)  
  12.        {  
  13.            string strValue;  
  14.            try 
  15.            {  
  16.                strValue = rm.GetString(strName);  
  17.                if (strValue.Length > 0)  
  18.                {  
  19.                     return strValue.TrimEnd(new char[]{'\r','\n'}).Replace("\\r\\n","\r\n") ;  
  20.                }  
  21.                else 
  22.                {  
  23.                    return default_value;  
  24.                }  
  25.            }  
  26.            catch //(Exception ex)  
  27.            {  
  28.                return default_value;  
  29.            }  
  30.        }  

      这时候,弹出的对话框信息方才正确,如下图:

    

VS2005字符串资源不能识别转义字符_第3张图片