2012. 3. 19. 13:54 PC Programming/C# .net
Control에서 상속받아 User Control 만들때 Text Align
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 |