111,097
社区成员




using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace threadfilecopy
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
dFileCopy tr = new dFileCopy(FileCopy);
tr.BeginInvoke(@"c:\DXperience-7.3.7.exe", @"c:\b.exe", null , null);
}
delegate void dFileCopy(string sourceFileName, string destFileName);
void FileCopy(string sourceFileName, string destFileName)
{
if (!System.IO.File.Exists(sourceFileName))
new System.IO.IOException("File not exist.");
System.IO.FileInfo fi = new System.IO.FileInfo(sourceFileName);
System.IO.StreamReader sr = new System.IO.StreamReader(sourceFileName);
using (System.IO.StreamWriter sw = new System.IO.StreamWriter(destFileName, false))
{
for (int i = 0; i < fi.Length; i++)
{
sw.Write(sr.Peek());
if (i % (fi.Length / 100) == 0)
SetProcess(i / (fi.Length / 100));
}
}
}
delegate void process(double value);
void SetProcess(double value)
{
if (this.InvokeRequired)
this.Invoke(new process(SetProcess), value);
else
this.Text = value.ToString() + " %";
if (value > 0)
{ }
}
}
}