我在WinForm项目里创建了一个线程Thread threadE = new Thread(new ThreadStart(EncryptFile));,用这个线程对文件进行加密,加密方法如下:
其中,sKeyE为用户设定的密码,sInputFilenameE为被加密的文件的路径,sOutputFilenameE为加密成功后文件的路径。
        private void EncryptFile()
        {
            //设定初始向量
            byte[] MyDESIV ={ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 };
            byte[] MyDESKey ={ };
            if (sKeyE.Length == 6)
            {
                MyDESKey = new byte[] { (byte)sKeyE[0], (byte)sKeyE[1], (byte)sKeyE[2], (byte)sKeyE[3], (byte)sKeyE[4], (byte)sKeyE[5], 0x07, 0x08 };
            }
            else if (sKeyE.Length == 7)
            {
                MyDESKey = new byte[] { (byte)sKeyE[0], (byte)sKeyE[1], (byte)sKeyE[2], (byte)sKeyE[3], (byte)sKeyE[4], (byte)sKeyE[5], (byte)sKeyE[6], 0x07 };
            }
            else if (sKeyE.Length >= 8)
            {
                MyDESKey = new byte[] { (byte)sKeyE[0], (byte)sKeyE[1], (byte)sKeyE[2], (byte)sKeyE[3], (byte)sKeyE[4], (byte)sKeyE[5], (byte)sKeyE[6], (byte)sKeyE[7] };
            }
            try
            {
                //创建输入和输出文件流
                FileStream MyInFileStream = new FileStream(sInputFilenameE, FileMode.Open, FileAccess.Read);
                FileStream MyOutFileStream = new FileStream(sOutputFilenameE, FileMode.OpenOrCreate, FileAccess.Write);
                MyOutFileStream.SetLength(0);
                //每次的中间流.
                byte[] InsertData = new byte[1024];
                //代表已经加密流的大小
                int CompletedLength = 0;
                //代表要加密文件总的大小
                long InFileSize = MyInFileStream.Length;
                //创建DES对象
                DES MyDES = new DESCryptoServiceProvider();
                //创建加密流
                CryptoStream EncryptStream = new CryptoStream(MyOutFileStream, MyDES.CreateEncryptor(MyDESKey, MyDESIV), CryptoStreamMode.Write);
                //从输入文件中读取流,然后加密到输出文件中
                while (CompletedLength < InFileSize)
                { //每次写入加密文件的数据大小
                    int Length = MyInFileStream.Read(InsertData, 0, 1024);
                    EncryptStream.Write(InsertData, 0, Length);
                    CompletedLength = CompletedLength + Length;
                }
                //关闭流
                EncryptStream.Close();
                MyOutFileStream.Close();
                MyInFileStream.Close();
                MessageBox.Show("文件加密已经操作成功!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                //return false;
            }
            finally
            {
                threadE.Abort();
            }
        }问题是:现在我想用一个ProgressBar反映文件加密的进度,请问在哪里添加代码,应该怎么写,我知道会用到delegate,请高手指点