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 &lt;GraphicsPath&gt;是否可能? 的全部内容, 来源链接: utcz.com/qa/262097.html

回到顶部