Exemplo n.º 1
0
        private void GraphicsSheet_MouseMove(object sender, MouseEventArgs e)
        {
            try
            {
                if (panel.ScaleMode == false)
                {
                    if (panel.RectangleGraphicsTransform.Contains(e.Location))
                    {
                        TimeSpan span = new TimeSpan(panel.FinishTime.Ticks - panel.StartTime.Ticks);

                        float a = float.NaN;
                        float b = float.NaN;

                        switch (panel.Orientation)
                        {
                        case Orientation.Horizontal:

                            a = Math.Abs(e.Location.X - panel.RectangleGraphicsTransform.X);
                            b = span.Ticks / panel.RectangleGraphicsTransform.Width;

                            break;

                        case Orientation.Vertical:

                            a = Math.Abs(e.Location.Y - panel.RectangleGraphicsTransform.Y);
                            b = span.Ticks / panel.RectangleGraphicsTransform.Height;

                            break;

                        default:
                            break;
                        }

                        float c = (a * b);
                        if (!float.IsNaN(c) && !float.IsInfinity(c) &&
                            !float.IsNegativeInfinity(c) && !float.IsPositiveInfinity(c))
                        {
                            long d = panel.StartTime.Ticks + (long)c;

                            DateTime ttime = new DateTime(d);
                            //if (panel.ScaleTime != ttime)
                            {
                                Graphic gr1 = panel.GetGraphic(0);
                                Graphic gr2 = panel.GetGraphic(1);
                                Graphic gr3 = panel.GetGraphic(2);
                                Graphic gr4 = panel.GetGraphic(3);
                                Graphic gr5 = panel.GetGraphic(4);

                                if (gr1 != null)
                                {
                                    gr1.Passive = gr1.GetValueFromTime(ttime);
                                }
                                if (gr2 != null)
                                {
                                    gr2.Passive = gr2.GetValueFromTime(ttime);
                                }
                                if (gr3 != null)
                                {
                                    gr3.Passive = gr3.GetValueFromTime(ttime);
                                }
                                if (gr4 != null)
                                {
                                    gr4.Passive = gr4.GetValueFromTime(ttime);
                                }
                                if (gr5 != null)
                                {
                                    gr5.Passive = gr5.GetValueFromTime(ttime);
                                }

                                panel.ScaleTime = ttime;
                                panel.RedrawScalePanel();
                            }
                        }
                    }
                }
            }
            catch { }
        }