代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 相册片头自动生成器
{
public partial class Form1 : Form
{
public static int i=0;
public string[] picArr=null;
public Form1()
{
CheckForIllegalCrossThreadCalls = false;
InitializeComponent();
}
private void OPENfile_Click(object sender, EventArgs e)
{
ChooseFileDialog.ShowDialog();
}
private void ChooseFileDialog_FileOk(object sender, CancelEventArgs e)
{
i = 0;
picArr = null;
picArr = ChooseFileDialog.FileNames;
listView1.Items.Clear();
pic.Dispose();
progressBar1.Maximum = picArr.Length;
this.progressBar1.Value = 0;
backgroundWorkerOpenfile.RunWorkerAsync();
}
private void backgroundWorkerOpenfile_DoWork(object sender, DoWorkEventArgs e)
{
openfile();
}
private void backgroundWorkerOpenfile_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
backgroundWorkerOpenfile.Dispose();
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}
private void backgroundWorkerOpenfile_ProgressChanged_1(object sender, ProgressChangedEventArgs e)
{
this.progressBar1.Value++;
}
private void openfile()
{
if (i < picArr.Length)
{
pic.Images.Add(Image.FromFile(picArr[i]));
pic.ImageSize = new Size(144, 80);
listView1.LargeImageList = pic;
ListViewItem lvi = new ListViewItem();
lvi.ImageIndex = i;
this.listView1.Items.Add(picArr[i], i);
this.progressBar1.Value++;
GC.Collect();
}
else
{
return;
}
i++;
openfile();
}
}
}