在Windows窗体中绘制多维数据集的最简单方法是什么?

时间:2011-02-13 03:45:15

标签: c# winforms graphics

我在C#中制作一个Windows Forms应用程序,用于接受多维数据集长度的作业。然后显示立方体的表面积和体积。这很容易,但它也需要绘制立方体。

我想知道的是绘制立方体最简单的方法。我必须使用Graphics类来完成此操作。

到目前为止我对如何做到这一点的想法:

paper = myPicBox.CreateGraphics();
myPen = new Pen(Color.Black);
myPen.Width = 3;
paper.DrawRectangle(myPen, xCoord, yCoord, width, height);
paper.DrawLine(myPen, pointOne, pointTwo); // Then repeat this line for the four lines on the Z-axis
paper.DrawRectangle(myPen, xCoord, yCoord, width, height); // Where xCoord and yCoord have been changed to be placed at the end of the lines I've drawn

这是相当笨重的,所以我想知道是否有更简单或更简单的方法来实现同样的目标?

2 个答案:

答案 0 :(得分:3)

如上所述,这可能是WinForms最好的选择。您可以做的最好的事情是将您的功能封装到自己的方法中,以便您可以一次绘制多个多维数据集。因此,您的DrawCube()方法可能会接受原点,长度和Graphics对象,然后绘制它。 CreateGraphics调用将在任何对DrawCube的调用之前进行。

此外,在完成Graphics对象之后,您应该通过调用paper.Dispose()(请参阅this MSDN page)或将其粘贴在using block中来处置它。另外,查看this website,了解何时使用CreateGraphics(基本上当你在Paint事件处理程序之外绘图时,你正在做)

答案 1 :(得分:1)

在WinForms中你所做的只是你最好的选择,如果你正在寻找像DrawCube()方法那样的东西,那么很遗憾你没有在.Net中拥有它。你做的任何事情都将涉及使用线条和矩形等原始类型。