Example #1
0
        public int ViewPointToItemIndex(Point viewPt)
        {
            if (!ViewRectangle.Contains(viewPt))
            {
                return(-1);
            }

            Size itemSize = ItemSize;
            int  index    = viewPt.X / itemSize.Width;

            return(index);
        }
Example #2
0
        protected override void OnMouseDown(MouseEventArgs e)
        {
            base.OnMouseDown(e);

            MouseDownButton = e.Button;
            if (e.Button == MouseButtons.Left)
            {
                TempViewRectangle = ViewRectangle;
                Capture           = true;
                MouseDownPoint    = new Point(e.X, e.Y);

                if (!ViewRectangle.Contains(e.X, e.Y))
                {
                    int x = Math.Min(FullRectangle.X + FullRectangle.Width - ViewRectangle.Width,
                                     Math.Max(FullRectangle.X, (e.X - ViewRectangle.Width / 2)));
                    int y = Math.Min(FullRectangle.Y + FullRectangle.Height - ViewRectangle.Height,
                                     Math.Max(FullRectangle.Y, (e.Y - ViewRectangle.Height / 2)));
                    SetViewRectangle(new Rectangle(x, y, ViewRectangle.Width, ViewRectangle.Height));
                }
                MouseDownViewRectangle = ViewRectangle;
            }
        }