void m_obj3DGraphControl_ThisMouseMove(System.Windows.Forms.MouseEventArgs e)
        {
            Point2D          objClickedPoint  = null;
            double           dZValue          = 0;
            Point3D          objPoint3D       = null;
            NearestPointData objNearestPoint  = null;
            Point3D          objLocationPoint = null;
            Point3D          objGetPoint      = null;
            String           sDisplaytext     = null;

            try
            {
                objClickedPoint = new Point2D();
                objClickedPoint.SetLocation(e.X, e.Y);

                dZValue = objClickedPoint.GetZ();

                objPoint3D = new Point3D(e.X, e.Y, dZValue);


                m_objPlotForHandCursor = (SimpleLinePlot)m_objChartView.FindObj(objPoint3D, "SimpleLinePlot");


                if (m_objPlotForHandCursor != null)
                {
                    m_objChartView.Cursor = Cursors.Hand;
                }
                else
                {
                    m_objChartView.Cursor = Cursors.Arrow;
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message, ex.StackTrace);
            }
        }
        void m_obj3DGraphControl_GraphClicked(System.Windows.Forms.MouseEventArgs e)
        {
            Point3D objPoint        = null;
            Point2D obj2DPoint      = null;
            double  dImplicitZValue = 0;

            try
            {
                obj2DPoint = new Point2D(e.X, e.Y);

                double dZValue = obj2DPoint.GetZ();


                objPoint         = new Point3D(e.X, e.Y, dZValue);
                m_objClickedPlot = (SimpleLinePlot)m_objChartView.FindObj(objPoint, "SimpleLinePlot");

                if (m_objClickedPlot != null && m_objClickedPlot.LineWidth == 0.5)
                {
                    m_objClickedPlot.SetLineWidth(1.5);
                    m_objMainGraphControl.LabelColor = m_objClickedPlot.GetColor();
                }

                if (m_objPreviousLinePlot != null && m_objPreviousLinePlot.DisplayDataset != m_objClickedPlot.DisplayDataset && m_objPreviousLinePlot.LineWidth == 1.5)
                {
                    m_objPreviousLinePlot.SetLineWidth(0.5);
                }

                dImplicitZValue = m_objClickedPlot.DisplayDataset.ImplicitZValue;


                Point3D          objLocationPoint = null;
                NearestPointData objNearestPoint  = null;
                Point3D          objGetPoint      = null;


                if (e.Button == MouseButtons.Left)
                {
                    if (m_objDataCursor != null)
                    {
                        objNearestPoint = new NearestPointData();

                        objLocationPoint = m_objDataCursor.Location;
                        m_objDataCursor.SetColor(Color.Transparent);
                        m_objDataCursor.SetLocation(objLocationPoint);

                        if (m_objClickedPlot != null)
                        {
                            bFirstPlot = m_objClickedPlot.CalcNearestPoint(objLocationPoint, 3, objNearestPoint);


                            objGetPoint = objNearestPoint.GetNearestPoint();


                            if (m_objMarker != null)
                            {
                                m_objChartView.DeleteChartObject(m_objMarker);
                                m_objChartView.DeleteChartObject(m_objDataCursor);
                            }

                            m_objMarker = new Marker(m_objCartesianCordinates, GraphObj.MARKER_BOX, objLocationPoint.GetX(), objLocationPoint.GetY(), objLocationPoint.GetZ(), 8, 1);


                            m_objMarker.FillColor = Color.Black;
                            m_objMarker.SetColor(Color.Black);


                            m_objChartView.AddChartObject(m_objMarker);

                            string sDisplaytext = "X Value:" + objLocationPoint.GetX() + "\n" + "Y Value:" + objLocationPoint.GetY();
                            m_obj3DGraphControl.SetLabelText(sDisplaytext);
                        }
                    }
                }



                m_objChartView.UpdateDraw();

                m_objPreviousLinePlot = m_objClickedPlot;
                m_objPreviousColor    = m_objClickedPlot.GetColor();
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message, ex.StackTrace);
            }
        }