C# listView 重绘问题
我现在想将 listView 标题 设置为居中显示,下面的列表内容居左显示,我应该怎么做呢?因为只要实现这一个功能所以不想做的太麻烦,是重绘Header 么? 或者sendmessage 某个消息就可以?或者我响应列表头宽度改变的消息,修改标题名称,填写相应个空格?
[解决办法]
private void ListView1_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
{
using (StringFormat sf = new StringFormat())
{
sf.Alignment = StringAlignment.Center;
e.DrawBackground();
e.Graphics.DrawString(e.Header.Text, ListView1.Font,
Brushes.Black, e.Bounds, sf);
}
}
private void ListView1_DrawItem(object sender, DrawListViewItemEventArgs e)
{
e.DrawDefault = true;
}
private void ListView1_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
{
e.DrawDefault = true;
}