퇴근5분전




한 판넬에 컨트롤들을 중심점으로 이동시키기 위해...

바로 중심점으로 이동시... 한번에 안되기도 한다? 왜일까? 오차?.. 오차 치고는 좀 컸는뎅...

원점으로 이동했다가 다시 중심점으로 이동시켜주니 잘 되던데.... 

private void CenterMove2()
{
            Rectangle rct = toolStripContainer1.ContentPanel.ClientRectangle;
            float cx = rct.Width / 2f + rct.Left;
            float cy = rct.Height / 2f + rct.Top;

            area = ContentRegion2();  // 중심점으로 이동시키고 모든 컨텐츠의 영역을 가져옴.
           
            float ccx = area.Width / 2f + area.Left;
            float ccy = area.Height / 2f + area.Top;

            foreach (Control ctrl in toolStripContainer1.ContentPanel.Controls)
            {
                ctrl.Left = ctrl.Left + (int)( (cx - ccx));
                ctrl.Top = ctrl.Top + (int)((cy - ccy));
            }

            area.X = area.X + (int)(cx - ccx);
            area.Y = area.Y + (int)(cy - ccy);

            ContentInvalidate();
}

'# 1) 프로그래밍' 카테고리의 다른 글

.net ] 한글 유니코드 변환  (0) 2012.04.07
.Net] 배율 맞추기 II  (0) 2012.03.25
.Net] 양쪽 맞춤.  (0) 2012.03.25
.Net] C# 객체 숨기기....  (0) 2012.03.22
C# 포인터...  (0) 2012.03.16