C# 从字符串中获取矩形边界
我想在注册表中保存窗口的边界,为此我使用以下代码:C# 从字符串中获取矩形边界,c#,.net,string,C#,.net,String,我想在注册表中保存窗口的边界,为此我使用以下代码: dialogView.Save("WindowPosition", this.DesktopBounds.ToString()); dialogView是我要保存它们的路径。它保存了一切,好吗 例如: 但是如何获得它们是最好的方法,因为我可以从注册表中获得 可以是字符串 例如: 但我不知道如何将字符串转换为矩形,将初始设置转换为窗口?有人能提出一些建议吗?使用正则表达式模式: var matches = Regex.Match("{X=54,
dialogView.Save("WindowPosition", this.DesktopBounds.ToString());
dialogView是我要保存它们的路径。它保存了一切,好吗
例如:
但是如何获得它们是最好的方法,因为我可以从注册表中获得
可以是字符串
例如:
但我不知道如何将字符串转换为矩形,将初始设置转换为窗口?有人能提出一些建议吗?使用正则表达式模式:
var matches = Regex.Match("{X=54,Y=153,Width=723,Height=555}",
@"\D*(\d+)\D*(\d+)\D*(\d+)\D*(\d+)");
var rect = new Rectangle(int.Parse(matches.Groups[1].Value),
int.Parse(matches.Groups[2].Value),
int.Parse(matches.Groups[3].Value),
int.Parse(matches.Groups[4].Value));
{X=(\d+),\s*Y=(\d+),\s*Width=(\d+),Height=(\d+)}
请看演示
使用正则表达式模式:
{X=(\d+),\s*Y=(\d+),\s*Width=(\d+),Height=(\d+)}
请看演示
试试看:
试试看:
{X=(\d+),\s*Y=(\d+),\s*Width=(\d+),Height=(\d+)}
Match groups:
1. 54
2. 153
3. 723
4. 555
RectangleConverter r = new RectangleConverter();
var rectangleAsString= r.ConvertToString(this.DesktopBounds);
var rectangle = (Rectangle)r.ConvertFromString(rectangleAsString);