c# winform) listbox에 item을 add했는데요. 텍스트 크기와 글자체 변경, 그리고 가운데 정렬 어떻게하나요?

2020. 5. 29. 13:15VBA

728x90
반응형



Q: listbox에 item을 add했는데요. 텍스트 크기와 글자체 변경, 그리고 가운데 정렬 어떻게하나요?

listbox에서 

lstItem.Items.Add("이름");

lstItem.Items.Add("성별");

.

.

.

add를 했습니다.

 

글자 폰트를 크게하고 글자가 가운데 정렬 되도록 어떻게하나요....?



A : C# 코드 : 글자 폰트를 크게하고 글자가 가운데 정렬 되도록
C# 

  public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            listBox1.DrawMode = DrawMode.OwnerDrawFixed;
            listBox1.Items.Add("이름");
            listBox1.Items.Add("성별");

            listBox1.DrawItem += new DrawItemEventHandler(listbox_colorset);
        }

        public void listbox_colorset(object sender, DrawItemEventArgs e)
        {
            StringFormat strfmt = new StringFormat();
            strfmt.LineAlignment = StringAlignment.Center;
            strfmt.Alignment = StringAlignment.Center;

            e.DrawBackground();
            e.DrawFocusRectangle();

            // listbox의 값을 기준으로 brush를 그린다.
            ListBox lst = (ListBox)sender;
            e.Graphics.DrawString(lst.Items[e.Index].ToString(), 
                 new Font("맑은 고딕", 8, FontStyle.Bold),
                 new SolidBrush(e.ForeColor), e.Bounds, strfmt);
            e.DrawFocusRectangle();

        }

    }

 

<VB.NET> 코드

Public Sub New()

    InitializeComponent()

    ListBox1.DrawMode = DrawMode.OwnerDrawFixed
    ListBox1.Items.Add("이름")
    ListBox1.Items.Add("성별")

End Sub

Private Sub listbox_colorset(sender As Object, e As DrawItemEventArgs) Handles ListBox1.DrawItem
    Dim strfmt As StringFormat = New StringFormat
    strfmt.LineAlignment = StringAlignment.Center
    strfmt.Alignment = StringAlignment.Center

    e.DrawBackground()
    e.DrawFocusRectangle()

    ' listbox의 값을 기준으로 brush를 그린다.
    e.Graphics.DrawString(TryCast(sender, ListBox).Items(e.Index).ToString,
            New Font("맑은 고딕", 8, FontStyle.Bold),
            New SolidBrush(e.ForeColor),
            e.Bounds, strfmt)
    e.DrawFocusRectangle()

End Sub

 

 

728x90
반응형