Example #1
0
        public void DockFocusToCtl(bool pVisible)
        {
            Rectangle rect = _DesignCtl.GetOutFocusRect();
            int       RECT_X = rect.X, RECT_Y = rect.Y,
                      RECT_WIDTH = rect.Width, RECT_HEIGHT = rect.Height;

            foreach (FocusHandleCTL ctl in this)
            {
                HandleType type = ctl.FocusType;
                ctl.Visible = false;
                switch (type)
                {
                case HandleType.LeftTop:                        //顶端靠左
                    ctl.Location = new Point(RECT_X, RECT_Y);
                    break;

                case HandleType.MiddleTop:                        //顶靠中
                    ctl.Location = new Point(RECT_X + RECT_WIDTH / 2 - HALF_FUDGER, RECT_Y);
                    break;

                case HandleType.RightTop:                        //顶靠右
                    ctl.Location = new Point(RECT_X + RECT_WIDTH - FUDGER, RECT_Y);
                    break;

                case HandleType.RightMiddle:                        //右中间
                    ctl.Location = new Point(RECT_X + RECT_WIDTH - FUDGER, RECT_Y + RECT_HEIGHT / 2 - HALF_FUDGER);
                    break;

                case HandleType.RightBottom:                        //底靠右
                    ctl.Location = new Point(RECT_X + RECT_WIDTH - FUDGER, RECT_Y + RECT_HEIGHT - FUDGER);
                    break;

                case HandleType.BottomMiddle:                         //底靠中
                    ctl.Location = new Point(RECT_X + RECT_WIDTH / 2 - HALF_FUDGER, RECT_Y + RECT_HEIGHT - FUDGER);
                    break;

                case HandleType.LeftBottom:                        //底靠左
                    ctl.Location = new Point(RECT_X, RECT_Y + RECT_HEIGHT - FUDGER);
                    break;

                case HandleType.LeftMiddle:                         //左中间
                    ctl.Location = new Point(RECT_X, RECT_Y + RECT_HEIGHT / 2 - HALF_FUDGER);
                    break;
                }
                ctl.Visible = pVisible;
            }
        }