第二步:设置imageList控件的Images属性,添加你想要的图片;
第三步:设置ListView控件的SmallImageList、LargeImageList、StateImageList属性为imageList;
第四步:编辑ListView控件项的ImageIndex行为你就会发现图片成功显示出来了!
附:在ListView控件中添加选项的代码
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "")
{
MessageBox.Show("添加的内容不能为空")
textBox1.Focus() //获取焦点
}
else
{
if (listView1.Items.Count >0) //判断列表框中是否有项
{
//循环比较是否有重复项,有则放弃添加
for (int i = 0i <listView1.Items.Counti++)
{
if (string.Compare(listView1.Items[i].Text.ToString(), textBox1.Text) == 0)
{
MessageBox.Show("项目重复,不能添加!")
textBox1.Text = "" //清空文本框
textBox1.Focus()
return
}
}
listView1.Items.Add(textBox1.Text.ToString())
textBox1.Text = ""
}
else
{
listView1.Items.Add(textBox1.Text.ToString()) //将文本框中的数据添加到列表框
textBox1.Text = ""
}
}
}
是要设置ListView.View == View.Details时,设置ColumnHeader的字体大小和行高么?如果不是就不用往下看了:)粗看了一下,发现字体是可以设置的,但是行高恐怕有点困难。
ListView lv = new ListView()
lv.OwnerDraw = true
lv.DrawColumnHeader += new DrawListViewColumnHeaderEventHandler(lv_DrawColumnHeader)
...
private void listView1_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
{
// 绘制标准背景
e.DrawBackground()
// 绘制自定义文字
using (Font headerFont = new Font("Tahoma", 10, FontStyle.Bold))
{
e.Graphics.DrawString(e.Header.Text, headerFont,
Brushes.Black, e.Bounds, new StringFormat())
}
return
}
这里e.Bounds是一个只读属性,表示绘制ColumnHeader时所能 *** 作的矩形范围,这个是Windows产生NM_CUSTOMDRAW是就已经定了的,我对Windows消息机制了解不多,不知道是否有方法来改变这个Bounds的内容,如果能改就可以指定高了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)