示例#1
0
        public void ToolMouseDown(object sender, MouseEventArgs e)
        {
            DrawingObject chart = canvas.GetChart(e.Location.X, e.Location.Y);

            PointArea     = chart;
            this.xInitial = e.X;
            this.yInitial = e.Y;

            if (chart != null)
            {
                if (e.Button == MouseButtons.Left && canvas != null)
                {
                    bool isAllowed = false;
                    if (chart.GetPointXtAll().Count < 1)
                    {
                        isAllowed = true;
                    }
                    if (isAllowed)
                    {
                        int           yChart      = chart.GetEndpoint().Y;
                        int           yPointChart = chart.GetStartpoint().Y;
                        int           endxChart   = chart.GetEndpoint().X;
                        int           startxChart = chart.GetStartpoint().X;
                        int           temp        = e.X - startxChart;
                        int           chartx      = startxChart + temp;
                        int           countx      = (endxChart - startxChart) / temp;
                        DrawingObject point;
                        for (int i = 0; i < countx; i++)
                        {
                            ChartPoint varChartPoint = new ChartPoint(new Point(chartx - 3, yPointChart), chart);
                            chart.AddGraphPoint(varChartPoint);
                            canvas.AddDrawingObject(varChartPoint);
                            varChartPoint.Select();
                            if (chart.GetPointCount() > 1)
                            {
                                DrawingObject Neighbour = chart.GetNeighbourKiri(varChartPoint);
                                Connector     connector = new Connector(new Point(Neighbour.GetStartpoint().X + 3, Neighbour.GetStartpoint().Y + 3));
                                connector.Endpoint = new System.Drawing.Point(varChartPoint.GetStartpoint().X + 3, varChartPoint.GetStartpoint().Y + 3);
                                connector.SetSource(Neighbour);
                                connector.SetDestination(varChartPoint);
                                //varConnector = connector;
                                chart.AddConnectorPoint(connector);
                                canvas.AddDrawingObject(connector);

                                connector.Select();
                                canvas.DeselectAllObject();
                            }

                            point = new ChartPoint(new Point(chartx - 3, yChart), chart);
                            chart.AddXPoint(point);
                            point.Select();
                            canvas.AddDrawingObject(point);
                            Text text = new Text(new Point(chartx - temp / 2, yChart + 6));
                            text.Endpoint = new Point(chartx + temp / 2, yChart + 33);
                            text.ChangeText("Text" + (i + 1));
                            chart.AddXLabel(text);
                            canvas.AddDrawingObject(text);
                            this.varChartPoint.Add(point);
                            this.textX.Add(text);
                            chartx += temp;
                        }
                    }
                }
            }
        }