我想合并2个大文件,但atm我的代码只更新1个文件复制后的进度是否有更好的方法来报告进度这是我的复制代码atm
max = files.Count;
MessageBox.Show("Merge Started");
using (Stream output = File.OpenWrite(dest))
{
foreach (string inputFile in files)
{
using (Stream input = File.OpenRead(inputFile))
{
input.CopyTo(output);
count++;
progress = count * 100 / max;
backgroundWorker2.ReportProgress(Convert.ToInt32(progress));
}
}
}
MessageBox.Show("Merge Complete");
Run Code Online (Sandbox Code Playgroud) 我正在设计的程序通过获取图像的文件名来生成图像,在cdb中搜索该名称,然后使用该数据库项中的数据生成图片.所有这些都有效.我现在想要做的是添加一个进度条,因为如果你正在做大量的图片,它可能需要一段时间,所以进度条将有助于跟踪它.这是我正在使用的代码,但进度条中的进度不会提前,直到最后我想避免使用后台工作程序(如果我可以).
private void button5_Click(object sender, EventArgs e)
{
if (folderBrowserDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string folder = folderBrowserDialog1.SelectedPath;
DirectoryInfo dinfo = new DirectoryInfo(folderBrowserDialog1.SelectedPath);
FileInfo[] Files = dinfo.GetFiles("*.jpg");
int count = Files.Length;
int current = 0;
foreach (FileInfo file in Files)
{
string path = Path.GetFileNameWithoutExtension(file.Name);
int cardid = Convert.ToInt32(path);
if (Program.CardData.ContainsKey(cardid))
{
DevPro_CardManager.cardmaker.IMG = LoadBitmap(folderBrowserDialog1.SelectedPath + "//" + file.Name);
string lev = Program.CardData[cardid].Level.ToString();
comboBox2.SelectedItem = lev;
string att = Program.CardData[cardid].Attribute.ToString();
if (att == "1")
{
att = "earth";
}
else if …Run Code Online (Sandbox Code Playgroud)