【发布时间】:2016-03-15 22:25:39
【问题描述】:
我正在尝试使用简单的 mousedown、drag 和 mouseup 创建一个三角形。我有一个逻辑草图,我用线条绘制,以进一步澄清和一些我一直在尝试的 sn-p,但它从来没有变成我试图在我的草图中绘制出来的方式。
我做错了什么吗,这不可能吗,除了点击每个顶点之外,还有其他解决方案吗?
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
Vertex1 = e.Location; //First (left) Corner
}
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
Vertex2.X = e.X; //This creates a straight base from Vertex 1 to Vertex 2
Vertex2.Y = Vertex1.Y //'''' ''''''' ' '''''''' ''''
Vertex3.Y = e.Y; //The y is the same height the mouse was let go
Vertex3.X = (Vertex1.X + Vertex2.X) / 2; //The x is half way from the two corners
Point[] pts = new Point[3] { Vertex1, Vertex3, Vertex2};
g.DrawPolygon(Pen1, pts);
}
Vertex1 是第一个左角(鼠标按下)
Vertex2 是右角
Vertex3 是顶角
【问题讨论】: