private void btOK_Click(object sender, EventArgs e)
        {
            bool inputValid = true;

            //Sanity Check
            if (!ValidateInput(txtXMin))
            {
                inputValid = false;
            }
            if (!ValidateInput(txtXMax))
            {
                inputValid = false;
            }
            if (!ValidateInput(txtYMin))
            {
                inputValid = false;
            }
            if (!ValidateInput(txtYMax))
            {
                inputValid = false;
            }
            if (!inputValid)
            {
                MessageBox.Show("Invalid input values!", this.Text,
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            //Limit Check
            double xStart = Convert.ToDouble(txtXMin.Text);
            double xEnd   = Convert.ToDouble(txtXMax.Text);
            double yStart = Convert.ToDouble(txtYMin.Text);
            double yEnd   = Convert.ToDouble(txtYMax.Text);

            //Perform ZOOM
            double XMin = ptrXAxis.ValueToPixelPosition(xStart);
            double XMax = ptrXAxis.ValueToPixelPosition(xEnd);
            double YMin = ptrYAxis.ValueToPixelPosition(yStart);
            double YMax = ptrYAxis.ValueToPixelPosition(yEnd);

            ptrXAxis.ScaleView.Zoom(xStart, xEnd);
            ptrYAxis.ScaleView.Zoom(yStart, yEnd);

            //Swtich to next axis
            ptrXAxis = (ptrXAxis == ptrChartArea.AxisX) ? ptrChartArea.AxisX2 : ptrChartArea.AxisX;
            ptrYAxis = (ptrYAxis == ptrChartArea.AxisY) ? ptrChartArea.AxisY2 : ptrChartArea.AxisY;
            ptrXAxis.ScaleView.Zoom(ptrXAxis.PixelPositionToValue(XMin), ptrXAxis.PixelPositionToValue(XMax));
            ptrYAxis.ScaleView.Zoom(ptrYAxis.PixelPositionToValue(YMin), ptrYAxis.PixelPositionToValue(YMax));

            DialogResult = DialogResult.OK;
        }
Exemplo n.º 2
0
 /// <summary>
 /// Converts an axis value to an absolute coordinate along an axis.
 /// Measured in pixels.
 /// This method only works in paint events.
 /// </summary>
 /// <param name="axisValue">
 /// The axis value.
 /// </param>
 /// <returns>
 /// A double value that represents the pixel position.
 /// </returns>
 public double ValueToPixelPosition(double axisValue)
 {
     return(axis.ValueToPixelPosition(axisValue));
 }