private void TriangleRegion_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == Keys.Add) { if (Angle == TriangleAngle.Left) { Angle = TriangleAngle.Top; } else { Angle++; } } else if (e.KeyData == Keys.Subtract) { if (Angle == TriangleAngle.Top) { Angle = TriangleAngle.Left; } else { Angle--; } } }
public TriangleRegion(Image backgroundImage = null) : base(backgroundImage) { Angle = TriangleAngle.Top; MouseWheel += new MouseEventHandler(TriangleRegion_MouseWheel); }
public TriangleRegion(Image backgroundImage = null) : base(backgroundImage) { Angle = TriangleAngle.Top; KeyDown += TriangleRegion_KeyDown; }
private void TriangleRegion_MouseWheel(object sender, MouseEventArgs e) { if (e.Delta > 0) { if (Angle == TriangleAngle.Left) { Angle = TriangleAngle.Top; } else { Angle++; } } else if (e.Delta < 0) { if (Angle == TriangleAngle.Top) { Angle = TriangleAngle.Left; } else { Angle--; } } }
/// <summary> /// Calculates the tangent of <paramref name="angle"/> in <paramref name="tri"/>. /// </summary> /// <param name="tri">The triangle</param> /// <param name="angle">The angle to calculate.</param> /// <returns>The tangent of <paramref name="angle"/>.</returns> public static double Tangent(Triangle tri, TriangleAngle angle = TriangleAngle.C) { switch (angle) { case TriangleAngle.A: return tri.SideB / tri.SideA; default: return tri.AngleA / tri.SideB; } }
/// <summary> /// Calculates the cosine of <paramref name="angle"/> in <paramref name="tri"/>. /// </summary> /// <param name="tri">The triangle</param> /// <param name="angle">The angle to calculate.</param> /// <returns>The cosine of <paramref name="angle"/>.</returns> public static double Cosine(Triangle tri, TriangleAngle angle = TriangleAngle.C) { switch (angle) { case TriangleAngle.A: return tri.SideA / tri.SideC; default: return tri.AngleB / tri.SideC; } }
/// <summary> /// Calculates the tangent of <paramref name="angle"/> in <paramref name="tri"/>. /// </summary> /// <param name="tri">The triangle</param> /// <param name="angle">The angle to calculate.</param> /// <returns>The tangent of <paramref name="angle"/>.</returns> public static double Tangent(Triangle tri, TriangleAngle angle = TriangleAngle.C) { switch (angle) { case TriangleAngle.A: return(tri.SideB / tri.SideA); default: return(tri.AngleA / tri.SideB); } }
/// <summary> /// Calculates the cosine of <paramref name="angle"/> in <paramref name="tri"/>. /// </summary> /// <param name="tri">The triangle</param> /// <param name="angle">The angle to calculate.</param> /// <returns>The cosine of <paramref name="angle"/>.</returns> public static double Cosine(Triangle tri, TriangleAngle angle = TriangleAngle.C) { switch (angle) { case TriangleAngle.A: return(tri.SideA / tri.SideC); default: return(tri.AngleB / tri.SideC); } }
public TriangleRegion() { Angle = TriangleAngle.Top; KeyDown += TriangleRegion_KeyDown; }
public static void AddTriangle(this GraphicsPath graphicsPath, RectangleF rect, TriangleAngle angle = TriangleAngle.Top) { PointF p1, p2, p3; switch (angle) { default: case TriangleAngle.Top: p1 = new PointF(rect.X + rect.Width / 2.0f, rect.Y); p2 = new PointF(rect.X, rect.Y + rect.Height); p3 = new PointF(rect.X + rect.Width, rect.Y + rect.Height); break; case TriangleAngle.Right: p1 = new PointF(rect.X + rect.Width, rect.Y + rect.Height / 2.0f); p2 = new PointF(rect.X, rect.Y); p3 = new PointF(rect.X, rect.Y + rect.Height); break; case TriangleAngle.Bottom: p1 = new PointF(rect.X + rect.Width / 2.0f, rect.Y + rect.Height); p2 = new PointF(rect.X + rect.Width, rect.Y); p3 = new PointF(rect.X, rect.Y); break; case TriangleAngle.Left: p1 = new PointF(rect.X, rect.Y + rect.Height / 2.0f); p2 = new PointF(rect.X + rect.Width, rect.Y + rect.Height); p3 = new PointF(rect.X + rect.Width, rect.Y); break; } graphicsPath.AddPolygon(new PointF[] { p1, p2, p3 }); }