將listview按表格顯示轻猖,動(dòng)態(tài)讀取ini文件寫(xiě)入
上代碼:
if (ExistINIFile())
{
string str = IniReadValue("Test", "label_commandnum");
int num = str.Length > 0 ? Int32.Parse(str) : 0;
listView1.Items.Clear();
for (i = 0; i < num; i++)
{
string[] labelArray = new string[num];
string[] bitArray = new string[8];
labelArray = IniReadValue("Test", "label_command" + i.ToString()).Split(',');
ListViewItem viewItem = new ListViewItem(labelArray[0].ToString());
viewItem.SubItems.Add(labelArray[1].ToString());
viewItem.SubItems.Add(labelArray[2].ToString());
listView1.Items.Add(viewItem);
}
這里注意的是當(dāng)我寫(xiě)入數(shù)據(jù)發(fā)現(xiàn)數(shù)據(jù)從第二列寫(xiě)入能扒,第一列被空著嫁蛇,解決方法是將第一列數(shù)據(jù)直接寫(xiě)入ListViewItem viewItem = new ListViewItem(labelArray[0].ToString());
這樣第一列數(shù)據(jù)就顯示了坎弯。
將listview按表格顯示酒朵,每行根據(jù)不同條件顯示不同圖標(biāo)桦锄,以及字體顏色
上代碼:
ListViewItem viewItem = new ListViewItem(" "+textArray[0]);
listView1.SmallImageList = imageList1;
if (textArray[0]=="出錯(cuò)")
{
viewItem.ForeColor = Color.Red;
viewItem.ImageIndex = 0;
}
else if (textArray[0] == "異常")
{
viewItem.ForeColor = Color.Red;
viewItem.ImageIndex = 1;
}
else if (textArray[0] == "提示")
{
viewItem.ForeColor = Color.Orange;
viewItem.ImageIndex = 2;
}
else if (textArray[0] == "發(fā)送")
{
viewItem.ForeColor = Color.Black;
viewItem.ImageIndex = 3;
}
else if (textArray[0] == "讀取")
{
viewItem.ForeColor = Color.Black;
viewItem.ImageIndex = 4;
}
else if (textArray[0] == "開(kāi)始")
{
viewItem.ForeColor = Color.Black;
viewItem.ImageIndex = 5;
}
else if (textArray[0] == "結(jié)束")
{
viewItem.ForeColor = Color.Black;
viewItem.ImageIndex = 6;
}
else if (textArray[0] == "等待")
{
viewItem.ForeColor = Color.Black;
viewItem.ImageIndex = 7;
}
// listView2.SmallImageList = imageListSmall;
// viewItem.ImageList.Images.Add();
viewItem.SubItems.Add(textArray[1]);
viewItem.SubItems.Add(textArray[2]);
listView2.Items.Add(viewItem);
//界面加上imageList1控件,在屬性Images里面添加你的圖標(biāo)蔫耽。
ImageIndex 就是你的屬性中圖片集合的索引结耀,對(duì)應(yīng)顯示。
ForeColor 對(duì)應(yīng)條目的字體顏色
imageList1屬性
圖像集合
listView上移
if (listView1.SelectedItems.Count == 0)
{
return;
}
listView1.BeginUpdate();
if (listView1.SelectedItems[0].Index > 0)
{
foreach (ListViewItem lvi in listView1.SelectedItems)
{
ListViewItem lviSelectedItem = lvi;
int indexSelectedItem = lvi.Index;
listView1.Items.RemoveAt(indexSelectedItem);
listView1.Items.Insert(indexSelectedItem - 1, lviSelectedItem);
}
}
listView1.EndUpdate();
if (listView1.Items.Count > 0 && listView1.SelectedItems.Count > 0)
{
listView1.Focus();
listView1.SelectedItems[0].Focused = true;
listView1.SelectedItems[0].EnsureVisible();
}
}
listView下移
if (listView1.SelectedItems.Count == 0)
{
return;
}
listView1.BeginUpdate();
int indexMaxSelectedItem = listView1.SelectedItems[listView1.SelectedItems.Count - 1].Index;
if (indexMaxSelectedItem < listView1.Items.Count - 1)
{
for (int i = listView1.SelectedItems.Count - 1; i >= 0; i--)
{
ListViewItem lviSelectedItem = listView1.SelectedItems[i];
int indexSelectedItem = lviSelectedItem.Index;
listView1.Items.RemoveAt(indexSelectedItem);
listView1.Items.Insert(indexSelectedItem + 1, lviSelectedItem);
}
}
listView1.EndUpdate();
if (listView1.Items.Count > 0 && listView1.SelectedItems.Count > 0)
{
listView1.Focus();
listView1.SelectedItems[listView1.SelectedItems.Count - 1].Focused = true;
listView1.SelectedItems[listView1.SelectedItems.Count - 1].EnsureVisible();
}
listView刪除
for (int i = listView1.SelectedItems.Count - 1; i >= 0; i--)
{
ListViewItem item = listView1.SelectedItems[i];
listView1.Items.Remove(item);
}