/// <summary> /// 上传要添加水印的图片到执行exe的目录下(复制,若有同名的则直接覆盖) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UploadWaterMarkImgBtn_OnClick(object sender, RoutedEventArgs e) { openFileDialog.Filter = "*.png|*.png"; //注意,此处一定要手动引入System.Window.Forms空间,否则你如果使用默认的DialogResult会发现没有OK属性 if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { WaterMarkTextBox.Text = openFileDialog.FileName; string fileName = openFileDialog.FileName; waterMarkImg = openFileDialog.FileName.Substring(openFileDialog.FileName.LastIndexOf("\\")).Replace("\\", ""); string destPath = System.AppDomain.CurrentDomain.BaseDirectory + waterMarkImg; if (!File.Exists(fileName)) { MessageBox.Show("源文件不存在"); return; } //保存复制文件信息,以进行传递 CopyFileInfo c = new CopyFileInfo() { SourcePath = fileName, DestPath = destPath }; //线程异步调用复制文件 copyThread = new Thread(new ParameterizedThreadStart(CopyFile)); copyThread.Start(c); } }
/// <summary> /// 复制文件的委托方法 参考 https://www.cnblogs.com/yangyancheng/archive/2011/04/03/2004875.html /// </summary> /// <param name="obj">复制文件的信息</param> private void CopyFile(object obj) { CopyFileInfo c = obj as CopyFileInfo; CopyFile(c.SourcePath, c.DestPath); }