C#设置ListView的行高

发布时间: 2009/6/27 18:07:30

在ListView中没有显示的设置行高的,因此需要采取变通的方式,过程如下:
1.向窗体中添加组件里的ImageList
2.将ListView的SmallImageList属性设置为刚才添加的ImageList id

3.调整ImageList的高度(Height)

 

 1 public ListView getMailsFromLocal(Int16 pos, ref ListView lv)
 2        
 3            try
 4            {
 5                res.Close();
 6            }

 7            catch (Exception)
 8            {  }
 9            res.Open();
10            SQLiteCommand cmd = new SQLiteCommand();
11            cmd.Connection = res;
12            cmd.CommandText = String.Format("SELECT [type],[fromU],[title],[isReply],[attachs],[saveTime],[uid],[id],[isRead]        FROM [mails] WHERE [type]={0}  ;", pos);
13            SQLiteDataAdapter sda = new SQLiteDataAdapter(cmd);
14            DataSet ds = new DataSet();
15            sda.Fill(ds, "MMM");
16            
17            lv.Items.Clear();
18            if (ds.Tables["MMM"].Rows.Count <= 0)
19            {
20                //MessageBox.Show("没有该种类型的记录!");
21                res.Close();
22                return lv;
23            }

24            //[orders],[fromU],[title],[isReply],[attachs],[type],[saveTime],[uid], [id],[isRead]
25
26            SQLiteDataReader sdr = cmd.ExecuteReader();
27            ListViewItem lvi;
28            bool isRead = false;
29            while(sdr.Read()) 
30            {
31                lvi = new ListViewItem(sdr.GetInt32(7).ToString());
32                lvi.SubItems.Add(sdr.IsDBNull(0? "" : this.parserType(sdr.GetInt16(0)));//邮箱分类类型
33                lvi.SubItems.Add(sdr.IsDBNull(1)?"佚名":sdr.GetString(1));//发件人
34                lvi.SubItems.Add(sdr.IsDBNull(2)?"无标题":sdr.GetString(2));//邮件标题
35                lvi.SubItems.Add(sdr.IsDBNull(3)?"":(sdr.GetInt16(3)==0?"":""));//是否回复
36                lvi.SubItems.Add(sdr.IsDBNull(4)?"":(sdr.GetString(4).Length<=1?"":""));//有无附件
37                lvi.SubItems.Add(sdr.IsDBNull(5? "" : sdr.GetString(5));//存储时间
38                lvi.SubItems.Add(sdr.IsDBNull(6? "" : sdr.GetString(6));//服务器唯一标识
39                isRead = sdr.IsDBNull(8? false : (Convert.ToInt16(sdr.GetValue(8))==1?false:true);//是否已读 
40                if(isRead==true)
41                {//如果没有读,则加黑
42                    lvi.Font = new Font("宋体"10,FontStyle.Bold);
43                }
  
44                lv.Items.Add(lvi);
45            }

46            res.Close(); 
47            return lv;
48        }

49

 

赞助商