C# Listbox的行间距以及文本水平垂直居中


1、首先设置DrawMode属性为OwnerDrawVariable

2、 增加事件重画ListBox

private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
{
e.DrawBackground();
e.DrawFocusRectangle();
StringFormat strFmt = new System.Drawing.StringFormat();
strFmt.Alignment = StringAlignment.Center; //文本垂直居中
strFmt.LineAlignment = StringAlignment.Center; //文本水平居中
e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds, strFmt);
}

3、属性中设置你想要的高度值 ItemHeight

你可能感兴趣的:(object,C#)