private void AnnotationStyle1_SelectedIndexChanged(object sender, System.EventArgs e) { if (Annotation.SelectedItem.ToString() == "Line") { LineAnnotation annotation = (LineAnnotation)Chart1.Annotations[0]; annotation.StartCap = (LineAnchorCapStyle)LineAnchorCapStyle.Parse(typeof(LineAnchorCapStyle), AnnotationStyle1.SelectedItem.ToString()); } else if (Annotation.SelectedItem.ToString() == "Vertical Line") { VerticalLineAnnotation annotation = (VerticalLineAnnotation)Chart1.Annotations[0]; annotation.StartCap = (LineAnchorCapStyle)LineAnchorCapStyle.Parse(typeof(LineAnchorCapStyle), AnnotationStyle1.SelectedItem.ToString()); } else if (Annotation.SelectedItem.ToString() == "Horizontal Line") { HorizontalLineAnnotation annotation = (HorizontalLineAnnotation)Chart1.Annotations[0]; annotation.StartCap = (LineAnchorCapStyle)LineAnchorCapStyle.Parse(typeof(LineAnchorCapStyle), AnnotationStyle1.SelectedItem.ToString()); } else if (Annotation.SelectedItem.ToString() == "Polyline") { PolylineAnnotation annotation = (PolylineAnnotation)Chart1.Annotations[0]; annotation.StartCap = (LineAnchorCapStyle)LineAnchorCapStyle.Parse(typeof(LineAnchorCapStyle), AnnotationStyle1.SelectedItem.ToString()); } else if (Annotation.SelectedItem.ToString() == "Rectangle") { RectangleAnnotation annotation = (RectangleAnnotation)Chart1.Annotations[0]; annotation.BackColor = Color.FromArgb(128, Color.FromName(AnnotationStyle1.SelectedItem.ToString())); } else if (Annotation.SelectedItem.ToString() == "Ellipse") { EllipseAnnotation annotation = (EllipseAnnotation)Chart1.Annotations[0]; annotation.BackColor = Color.FromArgb(128, Color.FromName(AnnotationStyle1.SelectedItem.ToString())); } else if (Annotation.SelectedItem.ToString() == "Arrow") { ArrowAnnotation annotation = (ArrowAnnotation)Chart1.Annotations[0]; if (AnnotationStyle1.SelectedItem.ToString() != "") { annotation.ArrowSize = int.Parse(AnnotationStyle1.SelectedItem.ToString()); } } else if (Annotation.SelectedItem.ToString() == "Border3D") { Border3DAnnotation annotation = (Border3DAnnotation)Chart1.Annotations[0]; annotation.BorderSkin.BackColor = Color.FromArgb(128, Color.FromName(AnnotationStyle1.SelectedItem.ToString())); } else if (Annotation.SelectedItem.ToString() == "Callout") { CalloutAnnotation annotation = (CalloutAnnotation)Chart1.Annotations[0]; annotation.BackColor = Color.FromArgb(128, Color.FromName(AnnotationStyle1.SelectedItem.ToString())); } else if (Annotation.SelectedItem.ToString() == "Polygon") { PolygonAnnotation annotation = (PolygonAnnotation)Chart1.Annotations[0]; annotation.LineColor = Color.FromName(AnnotationStyle1.SelectedItem.ToString()); } }
private void SetAnnotationStyle1() { if (AnnotationStyle1 == null || AnnotationStyle1.SelectedIndex == -1) { return; } if (Annotation.SelectedItem.Value == "Line") { LineAnnotation annotation = (LineAnnotation)Chart1.Annotations[0]; annotation.StartCap = (LineAnchorCapStyle)LineAnchorCapStyle.Parse(typeof(LineAnchorCapStyle), AnnotationStyle1.SelectedItem.Value); } else if (Annotation.SelectedItem.Value == "Vertical Line") { VerticalLineAnnotation annotation = (VerticalLineAnnotation)Chart1.Annotations[0]; annotation.StartCap = (LineAnchorCapStyle)LineAnchorCapStyle.Parse(typeof(LineAnchorCapStyle), AnnotationStyle1.SelectedItem.Value); } else if (Annotation.SelectedItem.Value == "Horizontal Line") { HorizontalLineAnnotation annotation = (HorizontalLineAnnotation)Chart1.Annotations[0]; annotation.StartCap = (LineAnchorCapStyle)LineAnchorCapStyle.Parse(typeof(LineAnchorCapStyle), AnnotationStyle1.SelectedItem.Value); } else if (Annotation.SelectedItem.Value == "Polyline") { PolylineAnnotation annotation = (PolylineAnnotation)Chart1.Annotations[0]; annotation.StartCap = (LineAnchorCapStyle)LineAnchorCapStyle.Parse(typeof(LineAnchorCapStyle), AnnotationStyle1.SelectedItem.Value); } else if (Annotation.SelectedItem.Value == "Rectangle") { RectangleAnnotation annotation = (RectangleAnnotation)Chart1.Annotations[0]; annotation.BackColor = Color.FromArgb(128, Color.FromName(AnnotationStyle1.SelectedItem.Value)); } else if (Annotation.SelectedItem.Value == "Ellipse") { EllipseAnnotation annotation = (EllipseAnnotation)Chart1.Annotations[0]; annotation.BackColor = Color.FromArgb(128, Color.FromName(AnnotationStyle1.SelectedItem.Value)); } else if (Annotation.SelectedItem.Value == "Arrow") { ArrowAnnotation annotation = (ArrowAnnotation)Chart1.Annotations[0]; if (AnnotationStyle1.SelectedItem.Value != "") { annotation.ArrowSize = int.Parse(AnnotationStyle1.SelectedItem.Value); } } else if (Annotation.SelectedItem.Value == "Border3D") { Border3DAnnotation annotation = (Border3DAnnotation)Chart1.Annotations[0]; annotation.BorderSkin.BackColor = Color.FromArgb(128, Color.FromName(AnnotationStyle1.SelectedItem.Value)); } else if (Annotation.SelectedItem.Value == "Callout") { CalloutAnnotation annotation = (CalloutAnnotation)Chart1.Annotations[0]; annotation.BackColor = Color.FromArgb(128, Color.FromName(AnnotationStyle1.SelectedItem.Value)); } else if (Annotation.SelectedItem.Value == "Polygon") { PolygonAnnotation annotation = (PolygonAnnotation)Chart1.Annotations[0]; annotation.LineColor = Color.FromName(AnnotationStyle1.SelectedItem.Value); } }
private void Annotation_SelectedIndexChanged(object sender, System.EventArgs e) { Chart1.Annotations.Clear(); AnnotationStyle.Items.Clear(); AnnotationStyle.Enabled = false; AnnotationStyle1.Items.Clear(); AnnotationStyle1.Enabled = false; AnnotationStyle2.Items.Clear(); AnnotationStyle2.Visible = false; if (Annotation.SelectedItem.ToString() == "Line") { LineAnnotation annotation = new LineAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[1]; annotation.Height = -25; annotation.Width = -25; annotation.LineWidth = 2; Chart1.Annotations.Add(annotation); SetLineControls(true); } else if (Annotation.SelectedItem.ToString() == "Vertical Line") { VerticalLineAnnotation annotation = new VerticalLineAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[1]; annotation.Height = -25; annotation.LineWidth = 2; Chart1.Annotations.Add(annotation); SetLineControls(true); } else if (Annotation.SelectedItem.ToString() == "Horizontal Line") { HorizontalLineAnnotation annotation = new HorizontalLineAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[1]; annotation.Width = -25; annotation.LineWidth = 2; Chart1.Annotations.Add(annotation); SetLineControls(true); } else if (Annotation.SelectedItem.ToString() == "Polyline") { PolylineAnnotation annotation = new PolylineAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[1]; // explicitly set the relative height and width annotation.Height = 50; annotation.Width = 30; PointF [] points = new PointF[5]; points[0].X = 0; points[0].Y = 0; points[1].X = 100; points[1].Y = 0; points[2].X = 0; points[2].Y = 100; points[3].X = 100; points[3].Y = 100; points[4].X = 0; points[4].Y = 50; annotation.GraphicsPath.AddPolygon(points); Chart1.Annotations.Add(annotation); SetLineControls(false); } else if (Annotation.SelectedItem.ToString() == "Text") { TextAnnotation annotation = new TextAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[1]; annotation.Text = "I am a TextAnnotation"; annotation.ForeColor = Color.Black; annotation.Font = new Font("Arial", 12);; Chart1.Annotations.Add(annotation); SetTextControls(); } else if (Annotation.SelectedItem.ToString() == "Rectangle") { RectangleAnnotation annotation = new RectangleAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[1]; annotation.Text = "I am a\nRectangleAnnotation"; annotation.ForeColor = Color.Black; annotation.Font = new Font("Arial", 12);; annotation.LineWidth = 2; Chart1.Annotations.Add(annotation); SetTextControls(); SetColorLineControls(); AnnotationStyle1.SelectedIndex = 2; } else if (Annotation.SelectedItem.ToString() == "Ellipse") { EllipseAnnotation annotation = new EllipseAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[1]; annotation.Text = "I am an EllipseAnnotation"; annotation.ForeColor = Color.Black; annotation.Font = new Font("Arial", 12);; annotation.LineWidth = 2; annotation.Height = 35; annotation.Width = 60; Chart1.Annotations.Add(annotation); SetTextControls(); SetColorLineControls(); AnnotationStyle1.SelectedIndex = 2; } else if (Annotation.SelectedItem.ToString() == "Arrow") { ArrowAnnotation annotation = new ArrowAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[1]; annotation.Height = -25; annotation.Width = -25; annotation.LineWidth = 2; Chart1.Annotations.Add(annotation); SetArrowControls(); } else if (Annotation.SelectedItem.ToString() == "Border3D") { Border3DAnnotation annotation = new Border3DAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[1]; annotation.Text = "I am a Border3DAnnotation"; annotation.ForeColor = Color.Black; annotation.Font = new Font("Arial", 12); annotation.Height = 40; annotation.Width = 50; Chart1.Annotations.Add(annotation); SetBorder3DControls(); } else if (Annotation.SelectedItem.ToString() == "Callout") { CalloutAnnotation annotation = new CalloutAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[1]; annotation.Text = "I am a\nCalloutAnnotation"; annotation.ForeColor = Color.Black; annotation.Font = new Font("Arial", 10);; annotation.Height = 35; annotation.Width = 50; Chart1.Annotations.Add(annotation); SetCalloutControls(); } else if (Annotation.SelectedItem.ToString() == "Polygon") { PolygonAnnotation annotation = new PolygonAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[1]; // explicitly set the relative height and width annotation.Height = 50; annotation.Width = 30; annotation.BackColor = Color.FromArgb(128, Color.Orange); // define relative value points for a polygon PointF [] points = new PointF[5]; points[0].X = 0; points[0].Y = 0; points[1].X = 100; points[1].Y = 0; points[2].X = 100; points[2].Y = 100; points[3].X = 0; points[3].Y = 100; points[4].X = 50; points[4].Y = 50; annotation.GraphicsPath.AddPolygon(points); Chart1.Annotations.Add(annotation); SetColorControl(); SetColorLineControls(); } else if (Annotation.SelectedItem.ToString() == "Image") { if (Chart1.Images.IndexOf("MyBmp") < 0) { Bitmap Bmp = new Bitmap(200, 75); Graphics g = Graphics.FromImage(Bmp); g.FillRectangle(new SolidBrush(Color.Transparent), 0, 0, Bmp.Width, Bmp.Height); g.FillRectangle(new SolidBrush(Color.PaleGoldenrod), Bmp.Width / 2, 0, Bmp.Width / 2, Bmp.Height); g.FillRectangle(new SolidBrush(Color.PaleVioletRed), 0, 0, Bmp.Width / 2, Bmp.Height); g.FillRectangle(new SolidBrush(Color.FromArgb(128, Color.DarkOrange)), 0, Bmp.Height / 2, Bmp.Width, Bmp.Height / 2); g.DrawString("I am an ImageAnnotation", new Font("Arial", 12), new SolidBrush(Color.Black), new Rectangle(0, 0, Bmp.Width, Bmp.Height)); g.Dispose(); Chart1.Images.Add(new NamedImage("MyBmp", Bmp)); } ImageAnnotation annotation = new ImageAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[1]; annotation.Image = "MyBmp"; Chart1.Annotations.Add(annotation); StyleLabel1.Text = ""; StyleLabel2.Text = ""; } }
private void SetAnnotationType() { Chart1.Annotations.Clear(); if(Annotation.SelectedItem.Value == "Line") { LineAnnotation annotation = new LineAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[2]; annotation.Height = -25; annotation.Width = -25; annotation.LineWidth = 2; Chart1.Annotations.Add(annotation); } else if(Annotation.SelectedItem.Value == "Vertical Line") { VerticalLineAnnotation annotation = new VerticalLineAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[2]; annotation.Height = -25; annotation.LineWidth = 2; Chart1.Annotations.Add(annotation); } else if(Annotation.SelectedItem.Value == "Horizontal Line") { HorizontalLineAnnotation annotation = new HorizontalLineAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[2]; annotation.Width = -25; annotation.LineWidth = 2; Chart1.Annotations.Add(annotation); } else if(Annotation.SelectedItem.Value == "Polyline") { PolylineAnnotation annotation = new PolylineAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[2]; // explicitly set the relative height and width annotation.Height = 50; annotation.Width = 30; PointF [] points = new PointF[5]; points[0].X = 0; points[0].Y = 0; points[1].X = 100; points[1].Y = 0; points[2].X = 0; points[2].Y = 100; points[3].X = 100; points[3].Y = 100; points[4].X = 0; points[4].Y = 50; annotation.GraphicsPath.AddPolygon(points); Chart1.Annotations.Add(annotation); } else if(Annotation.SelectedItem.Value == "Text") { TextAnnotation annotation = new TextAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[2]; annotation.Text = "I am a TextAnnotation"; annotation.ForeColor = Color.Black; annotation.Font = new Font("Arial", 12);; Chart1.Annotations.Add(annotation); } else if(Annotation.SelectedItem.Value == "Rectangle") { RectangleAnnotation annotation = new RectangleAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[2]; annotation.Text = "I am a\nRectangleAnnotation"; annotation.ForeColor = Color.Black; annotation.Font = new Font("Arial", 12);; annotation.LineWidth = 2; Chart1.Annotations.Add(annotation); } else if(Annotation.SelectedItem.Value == "Ellipse") { EllipseAnnotation annotation = new EllipseAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[2]; annotation.Text = "I am an EllipseAnnotation"; annotation.ForeColor = Color.Black; annotation.Font = new Font("Arial", 12);; annotation.LineWidth = 2; annotation.Height = 35; annotation.Width = 60; Chart1.Annotations.Add(annotation); } else if(Annotation.SelectedItem.Value == "Arrow") { ArrowAnnotation annotation = new ArrowAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[2]; annotation.Height = -25; annotation.Width = -25; annotation.LineWidth = 2; Chart1.Annotations.Add(annotation); } else if(Annotation.SelectedItem.Value == "Border3D") { Border3DAnnotation annotation = new Border3DAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[2]; annotation.Text = "I am a Border3DAnnotation"; annotation.ForeColor = Color.Black; annotation.Font = new Font("Arial", 12);; annotation.Height = 40; annotation.Width = 50; Chart1.Annotations.Add(annotation); } else if(Annotation.SelectedItem.Value == "Callout") { CalloutAnnotation annotation = new CalloutAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[1]; annotation.Text = "I am a\nCalloutAnnotation"; annotation.ForeColor = Color.Black; annotation.Font = new Font("Arial", 10);; annotation.Height = 35; annotation.Width = 50; Chart1.Annotations.Add(annotation); } else if(Annotation.SelectedItem.Value == "Polygon") { PolygonAnnotation annotation = new PolygonAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[2]; // explicitly set the relative height and width annotation.Height = 50; annotation.Width = 30; annotation.BackColor = Color.FromArgb(128, Color.Orange); // define relative value points for a polygon PointF [] points = new PointF[5]; points[0].X = 0; points[0].Y = 0; points[1].X = 100; points[1].Y = 0; points[2].X = 100; points[2].Y = 100; points[3].X = 0; points[3].Y = 100; points[4].X = 50; points[4].Y = 50; annotation.GraphicsPath.AddPolygon(points); Chart1.Annotations.Add(annotation); } else if(Annotation.SelectedItem.Value == "Image") { if (Chart1.Images.IndexOf("MyBmp") < 0) { Bitmap Bmp = new Bitmap(200, 75); Graphics g = Graphics.FromImage(Bmp); g.FillRectangle(new SolidBrush(Color.Transparent), 0, 0, Bmp.Width, Bmp.Height); g.FillRectangle(new SolidBrush(Color.PaleGoldenrod), Bmp.Width/2, 0, Bmp.Width/2, Bmp.Height); g.FillRectangle(new SolidBrush(Color.PaleVioletRed), 0, 0, Bmp.Width/2, Bmp.Height); g.FillRectangle(new SolidBrush(Color.FromArgb(128, Color.DarkOrange)), 0, Bmp.Height/2, Bmp.Width, Bmp.Height/2); g.DrawString("I am an ImageAnnotation", new Font("Arial", 12), new SolidBrush(Color.Black), new Rectangle( 0, 0, Bmp.Width, Bmp.Height)); g.Dispose(); Chart1.Images.Add(new NamedImage("MyBmp", Bmp)); } ImageAnnotation annotation = new ImageAnnotation(); annotation.AnchorDataPoint = Chart1.Series[0].Points[2]; annotation.Image = "MyBmp"; Chart1.Annotations.Add(annotation); } }