我在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
这是相当笨重的,所以我想知道是否有更简单或更简单的方法来实现同样的目标?
答案 0 :(得分:3)
如上所述,这可能是WinForms最好的选择。您可以做的最好的事情是将您的功能封装到自己的方法中,以便您可以一次绘制多个多维数据集。因此,您的DrawCube()方法可能会接受原点,长度和Graphics对象,然后绘制它。 CreateGraphics调用将在任何对DrawCube的调用之前进行。
此外,在完成Graphics对象之后,您应该通过调用paper.Dispose()(请参阅this MSDN page)或将其粘贴在using block中来处置它。另外,查看this website,了解何时使用CreateGraphics(基本上当你在Paint事件处理程序之外绘图时,你正在做)
答案 1 :(得分:1)
在WinForms中你所做的只是你最好的选择,如果你正在寻找像DrawCube()方法那样的东西,那么很遗憾你没有在.Net中拥有它。你做的任何事情都将涉及使用线条和矩形等原始类型。