C#中List <GraphicsPath>是否可能?
我想使用GraphicsPath而不是数组的列表,因为我不知道将由用户创建的路径的数量。C#中List <GraphicsPath>是否可能?
List<GraphicsPath> PathDB = new List<GraphicsPath>();
这之后我填名单如下:
using(GraphicsPath myPath = new GraphicsPath()) {
myPath.AddPolygon(myPoints);
PathDB.Add(myPath);
}
但是当我尝试使用的GraphicsPath从列表中,而Count属性是正确的,我不能使用对象像下面,因为参数例外。
num = PathDB.Count; for(int k=0; k < num; k++)
{
using(GraphicsPath myCurrentPath = new GraphicsPath())
{
myCurrentPath = PathDB[k];
myCurrentPath.AddLine(0,0,400,400); //at this stage exception is thrown
myGraphics.DrawPath(myPen, myCurrentPath)
}
}
是否与GraphicsPath被Disposabe相关?或者做错了吗?
回答:
using(GraphicsPath myPath = new GraphicsPath()) {
myPath.AddPolygon(myPoints);
PathDB.Add(myPath);
} // this disposes myPath
这是一个本地图形路径。您的using
区块Dispose
在完成范围之后。所以你需要删除那using
块,而是当你不再需要它们时,处置你的路径。
以上是 C#中List <GraphicsPath>是否可能? 的全部内容, 来源链接: utcz.com/qa/262097.html