C#中ListView用法實例
添加標題
在 Winfrom 界面中添加一個 ListView 組件,然后點擊右上角的箭頭,點擊編輯列

添加下面標題,然后點擊確定

此時 ListView 中還是一片空白,不能顯示這些標題,在視圖這里選擇 Details

就會如下圖所示,雖然標題出來了,內(nèi)容確實一塊白版,此時還是覺得 DataGridView 組件好用啊

顯示網(wǎng)格
此時,表格只是一片空白,可以在屬性面板中設(shè)置,顯示網(wǎng)格,如下圖

這時,就如下圖所示,效果就出來了,但是里面還是缺點東西

添加數(shù)據(jù)到表格中
不會添加數(shù)據(jù)怎么辦?直接從網(wǎng)上復制,如下:
private void Button_Test_Click(object sender, EventArgs e)
{
//數(shù)據(jù)更新,UI暫時掛起,直到EndUpdate繪制控件,可以有效避免閃爍并大大提高加載速度
this.listView1.BeginUpdate();
//添加5行數(shù)據(jù)
for (int i = 0; i < 5; i++)
{
ListViewItem lvi = new ListViewItem();
lvi.SubItems.Add("第1列,第" + i + "行");
lvi.SubItems.Add("第2列,第" + i + "行");
lvi.SubItems.Add("第3列,第" + i + "行");
lvi.SubItems.Add("第4列,第" + i + "行");
lvi.SubItems.Add("第5列,第" + i + "行");
this.listView1.Items.Add(lvi);
}
//結(jié)束數(shù)據(jù)處理,UI界面一次性繪制。
this.listView1.EndUpdate();
}運行后,我們看看效果,what? 第一行序號居然沒有數(shù)據(jù),這是什么鬼?

斷點看看,ListViewItem 數(shù)組索引 0 處居然是空的

用下面代碼測試了一下,效果同上一模一樣,在數(shù)組0處就是添加了一個默認空的數(shù)據(jù)進去
private void Form1_Load(object sender, EventArgs e)
{
ListViewItem litem = new ListViewItem();
for (int i = 0; i < 5; i++)
{
litem.SubItems.Add(i.ToString());
}
Console.WriteLine(litem.SubItems.Count);
}找了一下資料,不知道怎么回事,但是我還是找到了解決方法:
private void Button_Test_Click(object sender, EventArgs e)
{
//數(shù)據(jù)更新,UI暫時掛起,直到EndUpdate繪制控件,可以有效避免閃爍并大大提高加載速度
listView1.BeginUpdate();
//添加5行數(shù)據(jù)
for (int i = 0; i < 5; i++)
{
int column = i + 1;
ListViewItem lvi = listView1.Items.Add("第1列,第" + column + "行");
lvi.SubItems.Add("第2列,第" + column + "行");
lvi.SubItems.Add("第3列,第" + column + "行");
lvi.SubItems.Add("第4列,第" + column + "行");
lvi.SubItems.Add("第5列,第" + column + "行");
}
//結(jié)束數(shù)據(jù)處理,UI界面一次性繪制。
listView1.EndUpdate();
}這種寫法看著非常的淡疼,暫時也沒其他辦法了,有其他更好的寫法歡迎留言告訴我。

現(xiàn)在效果算是有了,但我想改變其中一個單元格的屬性怎么辦呢?
自定義其他屬性
例1:改變背景顏色,和字體顏色
private void Button_Test_Click(object sender, EventArgs e)
{
//數(shù)據(jù)更新,UI暫時掛起,直到EndUpdate繪制控件,可以有效避免閃爍并大大提高加載速度
listView1.BeginUpdate();
//添加5行數(shù)據(jù)
for (int i = 0; i < 5; i++)
{
int column = i + 1;
ListViewItem lvi = listView1.Items.Add("第1列,第" + column + "行");
lvi.SubItems.Add("第2列,第" + column + "行");
lvi.SubItems.Add("第3列,第" + column + "行");
lvi.SubItems.Add("第4列,第" + column + "行");
lvi.SubItems.Add("第5列,第" + column + "行");
if (column % 2 == 0)
{
lvi.BackColor = Color.Red;
lvi.ForeColor = Color.White;
}
else
{
lvi.BackColor = Color.Green;
lvi.ForeColor = Color.Black;
}
}
//結(jié)束數(shù)據(jù)處理,UI界面一次性繪制。
listView1.EndUpdate();
}效果:

其他的屬性就不作演示了,寫法差不多。
結(jié)束
到此這篇關(guān)于C#中ListView用法的文章就介紹到這了,更多相關(guān)C# ListView用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C# dump系統(tǒng)lsass內(nèi)存和sam注冊表詳細
這篇文章主要介紹了C# dump系統(tǒng)lsass內(nèi)存和sam注冊表,在這里選擇 C# 的好處是體積小,結(jié)合 loadAssembly 方便免殺,希望對讀者們有所幫助2021-09-09
C# DataGridView綁定數(shù)據(jù)源的方法
這篇文章主要為大家詳細介紹了C# DataGridView綁定數(shù)據(jù)源的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09

