ini文件font问题
[IndexProperty]
font=[Font: Name=宋体, Size=9, Units=3, GdiCharSet=1, GdiVerticalFont=False] //ini文件
*****************************************************************************
Font FONT = (Font)converter.ConvertFromString(ii.IniReadValue("IndexProperty", "font"));
IniReadValue函数用来读ini文件的font。
*******************************************
系统报错:未处理的异常: System.ArgumentException: “Size=9, Units=3, GdiCharSet=1, GdiVer
ticalFont=False]”的值对于“units”无效。
[解决办法]
老老实实转一遍!-_-!!!
string s = "[Font: Name=宋体, Size=9, Units=3, GdiCharSet=1, GdiVerticalFont=False]";System.Text.RegularExpressions.Match match = System.Text.RegularExpressions.Regex.Match(s, @"^\[Font\: Name\=(?<name>[^,]+), Size=(?<size>\d+), Units=(?<units>\d+), " + @"GdiCharSet=(?<charSet>\d+), GdiVerticalFont=(?<verticalFont>\w+)\]");//Console.WriteLine(match.Result("${name}")); //测试代码//Console.WriteLine(match.Result("${size}"));//Console.WriteLine(match.Result("${units}"));//Console.WriteLine(match.Result("${charSet}"));//Console.WriteLine(match.Result("${verticalFont}"));Font FONT = new Font(match.Result("${name}"), float.Parse(match.Result("${size}")), FontStyle.Regular, (GraphicsUnit)int.Parse(match.Result("${units}")), byte.Parse(match.Result("${charSet}")), bool.Parse(match.Result("${verticalFont}")));