把DrawMode属性设置为OwnerDrawFixed或OwnerDrawVariable
添加DrawItem事件
e.DrawBackground();
e.DrawFocusRectangle();
StringFormat strFmt = new System.Drawing.StringFormat();
strFmt.Alignment = StringAlignment.Center; //文本垂直居中
strFmt.LineAlignment = StringAlignment.Center; //文本水平居中
e.Graphics.DrawString(listCategory.Items[e.Index].ToString(), e.Font, new SolidBrush(e.Red), e.Bounds, strFmt);
listbox控件最少一项,否则就会提示错误,也可加一个判空把这种情况解决。