コード例 #1
0
        protected override void OnMouseMove(MouseEventArgs e)
        {
            base.OnMouseMove(e);
            Point pt = new Point(e.X, e.Y);

            for (int i = 0; i < pages.Count; i++)
            {
                SelectorItem item = ((SelectorItem)pages[i]);
                if (item.BoundingRectangle.Contains(pt))
                {
                    hadhover = true;
                    mouseloc = pt;
                    DrawComplete();
                    Invalidate(SelectionRect, false);
                    return;
                }
            }
            mouseloc = pt;
            if (hadhover)
            {
                DrawComplete();
                Invalidate(SelectionRect, false);
            }
            hadhover = false;
        }
コード例 #2
0
 protected override void OnMouseDown(MouseEventArgs e)
 {
     base.OnMouseDown(e);
     if (e.Button == MouseButtons.Left)
     {
         Point pt = new Point(e.X, e.Y);
         for (int i = 0; i < pages.Count; i++)
         {
             SelectorItem item = ((SelectorItem)pages[i]);
             if (item.BoundingRectangle.Contains(pt))
             {
                 mousesel = pt;
                 DrawComplete();
                 Invalidate(SelectionRect, false);
                 return;
             }
         }
     }
 }
コード例 #3
0
        protected void DrawSelection(Graphics g, Rectangle ef3)
        {
            int minleft = ef3.Right;

            for (int i = 0; i < pages.Count; i++)
            {
                minleft -= ((SelectorItem)pages[i]).MinWidth;
                minleft -= ef3.Height;
            }

            selid = -1;
            for (int i = 0; i < pages.Count; i++)
            {
                SelectorItem item = ((SelectorItem)pages[i]);
                Rectangle    rec  = new Rectangle(minleft, ef3.Top, item.MinWidth + ef3.Height, ef3.Height);
                item.DrawButton(g, rec, i == pages.Count - 1, rec.Contains(mouseloc), rec.Contains(mousesel));
                if (rec.Contains(mousesel))
                {
                    selid = i;
                }
                minleft += rec.Width;
            }
        }
コード例 #4
0
 internal void UpdateSelection(SelectorItem sender)
 {
     DrawComplete();
     Invalidate(SelectionRect, false);
 }