보뇨 다이어리

comboBox 내부 string align center 로 맞추기 본문

컴퓨터 관련/C# 정보

comboBox 내부 string align center 로 맞추기

보뇨 2019. 1. 7. 14:08
반응형

저번에 했던건데 까먹을까봐 포스팅합니다 :)

간단하게 옵션으로도 있을줄알았는데 옵션도 없어서 좀 고생했는데 이것들도 dataGridView 처럼 그려주면 된다

그려준다는건...그냥 drawing 이다

바로 코드를 보면 아래와 같다

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
        private void comboBox_commute_option_DrawItem(object sender, DrawItemEventArgs e)
        {
            ComboBox cbx = sender as ComboBox;
            if (cbx != null)
            {
                // Always draw the background
                e.DrawBackground();
                // Drawing one of the items?
                if (e.Index >= 0)
                {
                    // Set the string alignment.  Choices are Center, Near and Far
                    StringFormat sf = new StringFormat();
                    sf.LineAlignment = StringAlignment.Center;
                    sf.Alignment = StringAlignment.Center;
                    // Set the Brush to ComboBox ForeColor to maintain any ComboBox color settings
                    // Assumes Brush is solid
                    Brush brush = new SolidBrush(cbx.ForeColor);
                    // If drawing highlighted selection, change brush
                    if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
                        brush = SystemBrushes.HighlightText;
                    // Draw the string
                    e.Graphics.DrawString(cbx.Items[e.Index].ToString(), cbx.Font, brush, e.Bounds, sf);
                }
            }
        }
cs


그리고 위의 메소드 comboBox_commute_option_DrawItem 을 textAlign center 로 맞추고자하는 comboBox 에 맞춰야한다

아래 사진과 같이~~ 그럼 끝



출처 : http://blog.michaelgillson.org/2010/05/18/left-right-center-where-do-you-align/

반응형