我第一次保存圖片之后,讀取保存檔案夾的所有檔案,在listview上顯示出來.第二次保存檔案,也是保存在第一次保存的檔案夾里,讀取出所有的檔案,我在這里想讓讀取多次同一檔案夾下的圖片,每次讀取相同的圖片不顯示出來,方便以后每次保存圖片,要保存的圖片顯示出來,檔案夾里相同的圖片不顯示出來
代碼:
SaveFileDialog saveFile;
private void btn4_Click(object sender, EventArgs e)
{
//保存圖片
if (pictureBox2.Image == null)
{
MessageBox.Show("請先拍好照片");
return;
}
saveFile= new SaveFileDialog();
saveFile.InitialDirectory = create;
saveFile.Filter = "bmp圖片檔案(*.bmp)|*.bmp|jpg圖片檔案(*.jpg)|*.jpg|png圖片檔案(*.png)|*.png|ppm圖片檔案(*.ppm)|*.ppm";
DateTime dt = DateTime.Now;
string name = string.Format("{0:yyyyMMddHHmmss}", dt);
string imgName = name;
saveFile.FileName = imgName;
if (saveFile.ShowDialog()==DialogResult.OK)
{
try
{
pictureBox2.Image.Save(saveFile.FileName);
MessageBox.Show("檔案保存成功");
}
catch (Exception ex)
{
MessageBox.Show("檔案保存失敗", "", MessageBoxButtons.OKCancel);
}
}
listviewGet(Path.GetDirectoryName(saveFile.FileName));
}
FileInfo[] files;
int k = 0; //編號
int m = 0;
//ListViewItem item;
List<string> list = new List<string>();
/// <summary>
/// 讀取圖片在listview顯示出來
/// </summary>
/// <param name="path"></param>
private void listviewGet(string path)
{
m++;
ListViewItem lv = new ListViewItem();
DirectoryInfo g = new DirectoryInfo(path);
files = g.GetFiles();
foreach (var item in files)
{
listView1.Items.Add(k.ToString(), k);
listView1.Items[k].SubItems.Add(item.Name);
listView1.Items[k].SubItems.Add(item.FullName);
listView1.Items[k].SubItems.Add(item.CreationTime.ToString());
list.Add(item.FullName);
k++;
}
}
//雙擊編號顯示圖片
private void listView1_DoubleClick(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count < 0)
{
MessageBox.Show("串列中沒有可以查看的專案,請先添加");
return;
}
pictureBox2.Image = System.Drawing.Image.FromFile(list[listView1.SelectedItems[0].ImageIndex]);
}
{
運行效果:
第一次保存:

第二次保存:

可以看出雙擊第一次保存的編號為0的圖片與雙擊第二次保存的編號為75的圖片兩張圖片相同,我想相同的圖片就在listview視圖顯示不出來
,我知道要添加判斷陳述句,在foreach那里,但是運行一老出錯,好像是我的判斷陳述句不對的,求大佬解惑一下!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/278706.html
標籤:C#
