首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# listView 重绘有关问题

2013-09-16 
C# listView 重绘问题我现在想将listView标题 设置为居中显示,下面的列表内容居左显示,我应该怎么做呢?因

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;
        }


设置ListView的OwnerRedraw=true
添加上面三个事件处理函数,并且挂钩好。

热点排行