C#窗體控制元件之listview資料操作
阿新 • • 發佈:2019-01-23
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
radioButton1.Checked = true;
foreach (ListViewGroup item in listView1.Groups)
{
cmbGrade.Items.Add(item.Header);
}
cmbGrade.SelectedIndex = 0;
picbox.Image = imageList2.Images[imNum];
}
int imNum = 0;
private void splitContainer2_Panel1_Paint(object sender, PaintEventArgs e)
{
}
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void 檢視大圖ToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void 大圖ToolStripMenuItem_Click(object sender, EventArgs e)
{
listView1.View = View.LargeIcon;
}
private void 小圖ToolStripMenuItem_Click(object sender, EventArgs e)
{
listView1.View = View.SmallIcon;
}
private void 列表ToolStripMenuItem_Click(object sender, EventArgs e)
{
listView1.View = View.List;
}
private void 平鋪ToolStripMenuItem_Click(object sender, EventArgs e)
{
listView1.View = View.Tile;
}
private void 詳細ToolStripMenuItem_Click(object sender, EventArgs e)
{
listView1.View = View.Details;
}
private void label3_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
imNum--;
if (imNum==-1)
{
imNum = imageList2.Images.Count-1;
}
picbox.Image = imageList2.Images[imNum];
}
private void button2_Click(object sender, EventArgs e)
{
imNum++;
if (imNum==imageList2.Images.Count)
{
imNum =0;
}
picbox.Image = imageList2.Images[imNum];
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
OpenFileDialog op = new OpenFileDialog();
op.InitialDirectory = "d:\\";
op.Filter = "圖片(*.jpg;*.bmp;*.png;*.jpeg)|*.jpg;*.bmp;*.png;*.jpeg";
op.FilterIndex = 1;
op.RestoreDirectory = true;
if (op.ShowDialog()==DialogResult.OK)
{
string fileName= op.FileName;
//image是所有圖片的父類;還是一個抽象類
Image img=new Bitmap(fileName);
imageList2.Images.Add(img);
imageList1.Images.Add(img);
imNum=imageList2.Images.Count-1;
picbox.Image=imageList2.Images[imNum];
}
}
private void button3_Click(object sender, EventArgs e)
{
string name = tbxName.Text;
string sex;
if (radioButton1.Checked)
{
sex = radioButton1.Text;
}
else
{
sex = radioButton2.Text;
}
string age = tbxAge.Text;
int gradeIndex = cmbGrade.SelectedIndex;
Image pic = picbox.Image;
//listView1.Items.Add(
ListViewItem lvw = new ListViewItem();
lvw.Text = name;
lvw.ImageIndex = imNum;
//lvw.SubItems(
lvw.SubItems.Add(sex);
lvw.SubItems.Add(age);
lvw.Group=listView1.Groups[gradeIndex];
listView1.Items.Add(lvw);
}
private void Form2_Resize(object sender, EventArgs e)
{
listView1.Columns[0].Width = (int)(0.3 * listView1.Width);
listView1.Columns[1].Width = (int)(0.3 * listView1.Width);
listView1.Columns[2].Width = (int)(0.3 * listView1.Width);
}
private void 刪除選中項ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count>0)
{
//刪除操作,在操作前要做提示,以防止誤操作
DialogResult dr =
MessageBox.Show("確定刪除?", "提示", MessageBoxButtons.YesNo);
if (dr!=DialogResult.Yes)
{
return;
}
foreach (ListViewItem item in listView1.SelectedItems)
{
listView1.Items.Remove(item);
}
MessageBox.Show("刪除成功!");
}
else
{
MessageBox.Show("請先選擇!");
}
}
int index;
private void 修改選中項ToolStripMenuItem_Click(object sender, EventArgs e)
{
//每個控制元件上都可以用tag屬性來存放值,tag上的值不會在介面顯示
//btnChanes.Tag = lvw.Index;
ListViewItem lvw = listView1.SelectedItems[0];
this.index = lvw.Index;
if (lvw.SubItems[1].Text==radioButton1.Text)
{
radioButton1.Checked = true;
}
if (lvw.SubItems[1].Text==radioButton2.Text)
{
radioButton2.Checked = true;
}
tbxName.Text = lvw.Text;
// lvw.SubItems[2] SubItems[2]索引第一個預設為name
tbxAge.Text = lvw.SubItems[2].Text;
cmbGrade.SelectedItem = lvw.Group.Header;
picbox.Image=imageList2.Images[lvw.ImageIndex];
}
private void btnChanes_Click(object sender, EventArgs e)
{
string name = tbxName.Text;
string sex;
if (radioButton1.Checked)
{
sex = radioButton1.Text;
}
else
{
sex = radioButton2.Text;
}
string age = tbxAge.Text;
int gradeIndex = cmbGrade.SelectedIndex;
Image pic = picbox.Image;
listView1.Items[index].Text = name;
listView1.Items[index].ImageIndex = imNum;
listView1.Items[index].Group = listView1.Groups[gradeIndex];
listView1.Items[index].SubItems[1].Text = sex;
listView1.Items[index].SubItems[2].Text = age;
MessageBox.Show("修改成功!");
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
radioButton1.Checked = true;
foreach (ListViewGroup item in listView1.Groups)
{
cmbGrade.Items.Add(item.Header);
}
cmbGrade.SelectedIndex = 0;
picbox.Image = imageList2.Images[imNum];
}
int imNum = 0;
private void splitContainer2_Panel1_Paint(object sender, PaintEventArgs e)
{
}
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void 檢視大圖ToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void 大圖ToolStripMenuItem_Click(object sender, EventArgs e)
{
listView1.View = View.LargeIcon;
}
private void 小圖ToolStripMenuItem_Click(object sender, EventArgs e)
{
listView1.View = View.SmallIcon;
}
private void 列表ToolStripMenuItem_Click(object sender, EventArgs e)
{
listView1.View = View.List;
}
private void 平鋪ToolStripMenuItem_Click(object sender, EventArgs e)
{
listView1.View = View.Tile;
}
private void 詳細ToolStripMenuItem_Click(object sender, EventArgs e)
{
listView1.View = View.Details;
}
private void label3_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
imNum--;
if (imNum==-1)
{
imNum = imageList2.Images.Count-1;
}
picbox.Image = imageList2.Images[imNum];
}
private void button2_Click(object sender, EventArgs e)
{
imNum++;
if (imNum==imageList2.Images.Count)
{
imNum =0;
}
picbox.Image = imageList2.Images[imNum];
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
OpenFileDialog op = new OpenFileDialog();
op.InitialDirectory = "d:\\";
op.Filter = "圖片(*.jpg;*.bmp;*.png;*.jpeg)|*.jpg;*.bmp;*.png;*.jpeg";
op.FilterIndex = 1;
op.RestoreDirectory = true;
if (op.ShowDialog()==DialogResult.OK)
{
string fileName= op.FileName;
//image是所有圖片的父類;還是一個抽象類
Image img=new Bitmap(fileName);
imageList2.Images.Add(img);
imageList1.Images.Add(img);
imNum=imageList2.Images.Count-1;
picbox.Image=imageList2.Images[imNum];
}
}
private void button3_Click(object sender, EventArgs e)
{
string name = tbxName.Text;
string sex;
if (radioButton1.Checked)
{
sex = radioButton1.Text;
}
else
{
sex = radioButton2.Text;
}
string age = tbxAge.Text;
int gradeIndex = cmbGrade.SelectedIndex;
Image pic = picbox.Image;
//listView1.Items.Add(
ListViewItem lvw = new ListViewItem();
lvw.Text = name;
lvw.ImageIndex = imNum;
//lvw.SubItems(
lvw.SubItems.Add(sex);
lvw.SubItems.Add(age);
lvw.Group=listView1.Groups[gradeIndex];
listView1.Items.Add(lvw);
}
private void Form2_Resize(object sender, EventArgs e)
{
listView1.Columns[0].Width = (int)(0.3 * listView1.Width);
listView1.Columns[1].Width = (int)(0.3 * listView1.Width);
listView1.Columns[2].Width = (int)(0.3 * listView1.Width);
}
private void 刪除選中項ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count>0)
{
//刪除操作,在操作前要做提示,以防止誤操作
DialogResult dr =
MessageBox.Show("確定刪除?", "提示", MessageBoxButtons.YesNo);
if (dr!=DialogResult.Yes)
{
return;
}
foreach (ListViewItem item in listView1.SelectedItems)
{
listView1.Items.Remove(item);
}
MessageBox.Show("刪除成功!");
}
else
{
MessageBox.Show("請先選擇!");
}
}
int index;
private void 修改選中項ToolStripMenuItem_Click(object sender, EventArgs e)
{
//每個控制元件上都可以用tag屬性來存放值,tag上的值不會在介面顯示
//btnChanes.Tag = lvw.Index;
ListViewItem lvw = listView1.SelectedItems[0];
this.index = lvw.Index;
if (lvw.SubItems[1].Text==radioButton1.Text)
{
radioButton1.Checked = true;
}
if (lvw.SubItems[1].Text==radioButton2.Text)
{
radioButton2.Checked = true;
}
tbxName.Text = lvw.Text;
// lvw.SubItems[2] SubItems[2]索引第一個預設為name
tbxAge.Text = lvw.SubItems[2].Text;
cmbGrade.SelectedItem = lvw.Group.Header;
picbox.Image=imageList2.Images[lvw.ImageIndex];
}
private void btnChanes_Click(object sender, EventArgs e)
{
string name = tbxName.Text;
string sex;
if (radioButton1.Checked)
{
sex = radioButton1.Text;
}
else
{
sex = radioButton2.Text;
}
string age = tbxAge.Text;
int gradeIndex = cmbGrade.SelectedIndex;
Image pic = picbox.Image;
listView1.Items[index].Text = name;
listView1.Items[index].ImageIndex = imNum;
listView1.Items[index].Group = listView1.Groups[gradeIndex];
listView1.Items[index].SubItems[1].Text = sex;
listView1.Items[index].SubItems[2].Text = age;
MessageBox.Show("修改成功!");
}
}
}