I I. ListViewクラス
1. よく使われる基本属性: (1) FullRowSelect: 選択モードを選択するかどうかを設定します。 (デフォルトは false) ヒント: このプロパティは、詳細ビューでのみ意味を持ちます。 (2) GridLines: 行と列の間にグリッド線を表示するかどうかを設定します。 (デフォルトは false) ヒント: このプロパティは、詳細ビューでのみ意味を持ちます。 (3)AllowColumnReorder: 列ヘッダーをドラッグして列の順序を変更できるかどうかを設定します。 (デフォルトは false) ヒント: このプロパティは、詳細ビューでのみ意味を持ちます。(7) LabelEdit: ユーザーがコントロール内の項目のラベルを編集できるかどうかを設定します。詳細ビューの場合、行の最初の列の内容のみを編集できます。 (デフォルトはfalse)
(8)チェックボックス:制御内の各アイテムの横にチェックボックスを表示するかどうかを設定します。 (デフォルトは false)
(12) SelectedItems: コントロール内で選択されている項目を取得します。
(13) CheckedItems: コントロールの現在のチェック ボックスで選択されている項目を取得します。
(18) HideSelection: コントロールにフォーカスがないときに、選択された項目が引き続き強調表示されるかどうかを設定します。 (デフォルトはfalse)
(19)showgroups:グループにアイテムを表示するかどうかを設定します。 (デフォルトは false);
2. よく使用されるメソッド:
(1) BeginUpdate: EndUpdate メソッドを呼び出す前にコントロールを記述することは避けてください。大量のデータを挿入する場合、コントロールのちらつきを効果的に回避し、速度を大幅に向上させることができます。
(3) EnsureVisible: リスト ビューは、指定されたインデックス アイテムのアイテム行までスクロールします。 (効果は TopItem プロパティと似ています) (4) FindItemWithText: 指定されたテキスト値で始まる最初の ListViewItem を検索します。
(5) FindNearestItem: 指定された検索方向に従って、指定された点から開始して次のアイテムを検索します。ヒント: このメソッドは、LargeIcon ビューまたは SmallIcon ビューでのみ使用できます。
3. よく使用されるイベント:
(1) AfterLabelEdit: ユーザーがアイテムのラベルの編集を終了したときに発生し、LabelEdit 属性が true である必要があります。
(2) BeforeLabelEdit: ユーザーがアイテムのラベルの編集を開始すると発生します。
(3) ColumnClick: ユーザーがリスト ビュー コントロールの列ヘッダーをクリックすると発生します。
2. ListView の 5 つのビュー:
1. LargeIcon: 各項目は、その下にラベルが付いた最大化されたアイコンとして表示されます。 (効果については下の図を参照してください)
2. SmallIcon: 各項目は右側にラベルが付いた小さなアイコンとして表示されます。 (効果については下の写真を参照してください)
3. リスト: 各項目は右側にラベルが付いた小さなアイコンとして表示されます。項目は列に配置され、列ヘッダーはありません。 (効果については、下の図を参照してください) 4. 詳細: どの列も表示できますが、小さなアイコンとラベルを含めることができるのは最初の列のみであり、他の列項目にはテキスト情報のみが表示され、列ヘッダーを持つことができます。 (効果については下の写真を参照してください)
5. タイル: 各項目はフルサイズのアイコンとして表示され、その右側に項目ラベルとサブ項目情報が表示されます。 (Windows XP および Windows Server 2003 シリーズのみサポート)
①詳細ビュー:
this.listView1.SmallImageList = this.imageList1 //listView のアイコン セットを imageList1 にバインドします
(1) リスト ヘッダーの作成 (覚えておいてください)最初に列ヘッダーを作成する必要があります)
ColumnHeader ch= new ColumnHeader(); nbsp;ch.Text = "列标题1"; //设置列标题 ch.Width = 120; //设置列宽度 ch.TextAlign = HorizontalAlignment.Left; //设置列的对齐方式 this.listView1.Columns.Add(ch); //将列头添加到ListView控件。
Rreee
ColumnHeader ch= new ColumnHeader(); ch.Text = "列标题1"; //设置列标题 ch.Width = 120; //设置列宽度 ch.TextAlign = HorizontalAlignment.Left; //设置列的对齐方式 this.listView1.Columns.Add(ch); //将列头添加到ListView控件。
rrreerReeeee
(3) 表示項目R
this.listView1.Columns.Add("列标题1", 120, HorizontalAlignment.Left); //一步添加
RrreeRreeeeee を削除 (5) 高設定 (Imageelist を使用して実現) )
this.listView1.Columns.Add("列标题1", 120, HorizontalAlignment.Left); //一步添加
this.listView1.BeginUpdate(); //数据更新,UI暂时挂起,直到EndUpdate绘制控件,可以有效避免闪烁并大大提高加载速度 for (int i = 0; i < 10; i++) //添加10行数据 { ListViewItem lvi = new ListViewItem(); lvi.ImageIndex = i; //通过与imageList绑定,显示imageList中第i项图标 lvi.Text = "subitem" + i; lvi.SubItems.Add("第2列,第"+i+"行"); lvi.SubItems.Add("第3列,第"+i+"行"); this.listView1.Items.Add(lvi); } this.listView1.EndUpdate(); //结束数据处理,UI界面一次性绘制。
(6) クリア
this.listView1.BeginUpdate(); //数据更新,UI暂时挂起,直到EndUpdate绘制控件,可以有效避免闪烁并大大提高加载速度 for (int i = 0; i < 10; i++) //添加10行数据 { ListViewItem lvi = new ListViewItem(); lvi.ImageIndex = i; //通过与imageList绑定,显示imageList中第i项图标 lvi.Text = "subitem" + i; lvi.SubItems.Add("第2列,第"+i+"行"); lvi.SubItems.Add("第3列,第"+i+"行"); this.listView1.Items.Add(lvi); } this.listView1.EndUpdate(); //结束数据处理,UI界面一次性绘制。
foreach (ListViewItem item in this.listView1.Items) { for (int i = 0; i < item.SubItems.Count; i++) { MessageBox.Show(item.SubItems[i].Text); } }
ランニングエフェクト:
②largeIcon view:foreach (ListViewItem item in this.listView1.Items) { for (int i = 0; i < item.SubItems.Count; i++) { MessageBox.Show(item.SubItems[i].Text); } }
foreach (ListViewItem lvi in listView1.SelectedItems) //选中项遍历 { listView1.Items.RemoveAt(lvi.Index); // 按索引移除 //listView1.Items.Remove(lvi); //按项移除 }
foreach (ListViewItem lvi in listView1.SelectedItems) //选中项遍历 { listView1.Items.RemoveAt(lvi.Index); // 按索引移除 //listView1.Items.Remove(lvi); //按项移除 }
ImageList imgList = new ImageList(); imgList.ImageSize = new Size(1, 20);// 设置行高 20 //分别是宽和高 listView1.SmallImageList = imgList; //这里设置listView的SmallImageList ,用imgList将其撑大
ImageList imgList = new ImageList(); imgList.ImageSize = new Size(1, 20);// 设置行高 20 //分别是宽和高 listView1.SmallImageList = imgList; //这里设置listView的SmallImageList ,用imgList将其撑大
1. グループ化:
this.listView1.Clear(); //从控件中移除所有项和列(包括列表头)。 this.listView1.Items.Clear(); //只移除所有的项。
this.listView1.Clear(); //从控件中移除所有项和列(包括列表头)。 this.listView1.Items.Clear(); //只移除所有的项。
this.listView1.View = View.LargeIcon; this.listView1.LargeImageList = this.imageList2; this.listView1.BeginUpdate(); for (int i = 0; i < 10; i++) { ListViewItem lvi = new ListViewItem(); lvi.ImageIndex = i; lvi.Text = "item" + i; this.listView1.Items.Add(lvi); } this.listView1.EndUpdate();