我目前正在开发一个基本的绘图程序。要求之一是能够保存绘制的对象列表并将其重新加载。到目前为止,我已经编写了一个保存函数,可以将列表中的所有项目导出为 XML 格式,我目前正在研究装载部分。
每当程序遇到“< RechthoekTool >”(荷兰语为 RectangleTool)时,它就会执行以下代码:
//Create new tool.
RechthoekTool tool = new RechthoekTool();
//Turn <Startpoint> and <Endpoint> into actual points
var sp = Regex.Replace(xn["Startpunt"].InnerText, @"[\{\}a-zA-Z=]", "").Split(',');
tool.startpunt = new Point(int.Parse(sp[0]), int.Parse(sp[1]));
var ep = Regex.Replace(xn["Eindpunt"].InnerText, @"[\{\}a-zA-Z=]", "").Split(',');
tool.eindpunt = new Point(int.Parse(ep[0]), int.Parse(ep[1]));
//Set colour and width of brush
string kleur = xn["Dikte"].InnerText;
kleur.Replace(@"Color [", "");
kleur.Replace(@"]", "");
Color c = Color.FromName(kleur);
tool.kwastkleur = c;
tool.kwast = new SolidBrush(c);
tool.dikte = int.Parse(xn["Dikte"].InnerText);
//Add to list
s.listItems.Add(tool);
每当我运行程序时,我都会在
s.listItems.Add(工具);
但是,我确实在一开始就实例化该工具,不是吗?什么可能导致此错误?一些谷歌搜索告诉我这可能是因为我忘记分配一个属性,但据我所知,我已经把它们都覆盖了......
帮助将不胜感激。