Control에서 상속을 받아 컨트롤을 만들때에 내부에 텍스트 출력 및 정렬을 하려면 OnPaint 이벤트에 직접 코딩을 해줘야 한다.
Text 를 출력하는 방법은
protected override void OnPaint(PaintEventArgs pea)
        {
            StringFormat format = new StringFormat(StringFormatFlags.NoClip);
            format.Alignment = StringAlignment.Center;
            format.LineAlignment = StringAlignment.Center;
            pea.Graphics.DrawString(this.Text, this.Font, new SolidBrush(this.ForeColor), new RectangleF(0, 0, this.Width, this.Height), format);
         }
이렇게 하면 출력이 된다.
format.Alignment = StringAlignment.Center;
format.LineAlignment = StringAlignment.Center;
이 두부분이 정렬 설정 부분이다. 설정은 레리아웃의 방향에 따라 설정이 되면 Near, Center, Far 세가지가 있다
레이아웃이 왼쪽에서 오른쪽인 경우에는 Near가 Left 또는 Top이 된다.
new RectangleF(0, 0, this.Width, this.Height) 이 부분은 컨트롤의 가운데 찍으려면 이렇게 값을 주면 되고 내부에 별도 영역에 출력을 하려면 그 여역을 지정해 주면 된다..
더 쉬운 방법이 있을것 같기도 한데...모르겠다..

'PC Programming > C# .net' 카테고리의 다른 글

c# DOCK Property 설정  (0) 2012.03.19
c# 에서 Debug메세지 뿌리기  (0) 2011.08.08
SqlCommand에서 Parameter 사용  (0) 2010.03.24
Posted by bluescor

블로그 이미지
bluescor

공지사항

Yesterday
Today
Total

달력

 « |  » 2025.4
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

최근에 올라온 글

최근에 달린 댓글

글 보관함