網站首頁 編程語言 正文
添加標題
在 Winfrom 界面中添加一個 ListView 組件,然后點擊右上角的箭頭,點擊編輯列
添加下面標題,然后點擊確定
此時 ListView 中還是一片空白,不能顯示這些標題,在視圖這里選擇 Details
就會如下圖所示,雖然標題出來了,內容確實一塊白版,此時還是覺得 DataGridView 組件好用啊
顯示網格
此時,表格只是一片空白,可以在屬性面板中設置,顯示網格,如下圖
?這時,就如下圖所示,效果就出來了,但是里面還是缺點東西
添加數據到表格中
不會添加數據怎么辦?直接從網上復制,如下:
private void Button_Test_Click(object sender, EventArgs e)
{
//數據更新,UI暫時掛起,直到EndUpdate繪制控件,可以有效避免閃爍并大大提高加載速度
this.listView1.BeginUpdate();
//添加5行數據
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);
}
//結束數據處理,UI界面一次性繪制。
this.listView1.EndUpdate();
}
運行后,我們看看效果,what? 第一行序號居然沒有數據,這是什么鬼?
斷點看看,ListViewItem 數組索引 0 處居然是空的
用下面代碼測試了一下,效果同上一模一樣,在數組0處就是添加了一個默認空的數據進去
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)
{
//數據更新,UI暫時掛起,直到EndUpdate繪制控件,可以有效避免閃爍并大大提高加載速度
listView1.BeginUpdate();
//添加5行數據
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 + "行");
}
//結束數據處理,UI界面一次性繪制。
listView1.EndUpdate();
}
這種寫法看著非常的淡疼,暫時也沒其他辦法了,有其他更好的寫法歡迎留言告訴我。
現在效果算是有了,但我想改變其中一個單元格的屬性怎么辦呢?
自定義其他屬性
例1:改變背景顏色,和字體顏色
private void Button_Test_Click(object sender, EventArgs e)
{
//數據更新,UI暫時掛起,直到EndUpdate繪制控件,可以有效避免閃爍并大大提高加載速度
listView1.BeginUpdate();
//添加5行數據
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;
}
}
//結束數據處理,UI界面一次性繪制。
listView1.EndUpdate();
}
效果:
?其他的屬性就不作演示了,寫法差不多。
結束
原文鏈接:https://blog.csdn.net/qq_38693757/article/details/123017554
相關推薦
- 2022-10-10 React實時預覽react-live源碼解析_React
- 2022-11-12 c++自定義sort()函數的排序方法介紹_C 語言
- 2022-08-05 C#?GDI+實現時鐘表盤_C#教程
- 2022-08-29 Python可視化神器pyecharts之繪制箱形圖_python
- 2022-07-16 關于報錯 Error starting ApplicationContext. To display
- 2022-03-30 Docker?鏡像分層及dockerfile?編寫技巧_docker
- 2022-11-14 Python語言中Tuple的由來分析_python
- 2022-10-17 一文教會你用nginx+uwsgi部署自己的django項目_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支