在做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;
- }
- }
这时候,弹出的对话框信息方才正确,如下图: