//构造切线点 private void button5_Click(object sender, EventArgs e) { delFeature("point"); IPoint[] points = new IPoint[4]; for (int i = 0; i < 4; i++) { points[i] = new PointClass(); } points[0].PutCoords(15, 10); points[1].PutCoords(20, 60); points[2].PutCoords(40, 60); points[3].PutCoords(45, 10); addFeature("point", points[0]); addFeature("point", points[1]); addFeature("point", points[2]); addFeature("point", points[3]); IBezierCurveGEN bezierCurve = new BezierCurveClass(); bezierCurve.PutCoords(ref points); IConstructMultipoint constructMultipoint = new MultipointClass(); constructMultipoint.ConstructTangent(bezierCurve as ICurve, points[1]); IMultipoint multipoint = constructMultipoint as IMultipoint; IPointCollection pointCollection = multipoint as IPointCollection; for (int i = 0; i < pointCollection.PointCount; i++) { addFeature("point", pointCollection.get_Point(i)); } axMapControl1.Refresh(); }