Копирование файла в приложении копирует файл в папку отладки вместо выбранной папкиC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Копирование файла в приложении копирует файл в папку отладки вместо выбранной папки

Сообщение Anonymous »

У меня есть приложение C#, в котором я пытаюсь скопировать файл из одного местоположения в другое с помощью CustomfileCopier (см. Файл копировать с помощью панели хода). Вот мой код: < /p>
namespace FileCopier
{
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
}
string strSourceFileName = string.Empty;
string strOutFilePath = string.Empty;
string strOutFileName = string.Empty;

private void btnSelectInput_Click(object sender, EventArgs e)
{
ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);

ofd.Title = "Select a file to copy...";

if (ofd.ShowDialog() == DialogResult.OK)
{
//strSourceFileName = ofd.FileName;
strSourceFileName = ofd.FileName.Trim(); // Remove any leading or trailing whitespace characters.
txtInputFile.Text = strSourceFileName; // Display the selected file path in the textbox.
}

if (strSourceFileName == String.Empty)
{
return; // User didn't select a file to open.
}
}

private void btnSelectOutput_Click(object sender, EventArgs e)
{
sfd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
sfd.Title = "Type the name for the new file... Any existing file will be overwritten.";
strOutFileName = ofd.SafeFileName;
sfd.FileName = strOutFileName;
if (sfd.ShowDialog() == DialogResult.OK)
{
txtOutputFile.Text = sfd.FileName;
strOutFilePath = txtOutputFile.Text;
}

if (strOutFileName == String.Empty)
{
return; // User didn't select a file to open.
}
}

private void btnCopyFile_Click(object sender, EventArgs e)
{
if (File.Exists(strSourceFileName))
{
if (File.Exists(strOutFileName))
{
DialogResult result = MessageBox.Show("The file already exists. Do you want to overwrite it?", "File Exists", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (result == DialogResult.No)
{
return; // User chose not to overwrite the existing file.
}
if (result == DialogResult.Yes)
{
File.Delete(strOutFileName); // Delete the existing file if the user chooses to overwrite it.
}
}
backgroundWorker1.RunWorkerAsync(); // Start the background worker to copy the file.
}
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
CustomFileCopier cfc = new CustomFileCopier(strSourceFileName, strOutFileName);
cfc.Copy(); // Start the file copy operation.
}

private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
pbCopyProgress.Value = e.ProgressPercentage;
lblProgress.Text = e.ProgressPercentage.ToString() + "%";
}

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{

}

private void frmMain_Load(object sender, EventArgs e)
{
backgroundWorker1.DoWork += backgroundWorker1_DoWork;
backgroundWorker1.ProgressChanged += backgroundWorker1_ProgressChanged;
backgroundWorker1.RunWorkerCompleted += backgroundWorker1_RunWorkerCompleted;
}
}
}
< /code>
Я могу выбрать входной файл (например, файл в папке загрузки), а затем выберите местоположение выходного файла (например, на рабочем столе). Вместо копирования файла на рабочий стол (или любую выбранную папку, которую я выбрал), он копирует файл в папку «c: \ users \ source \ repos \ filecopier \ filecopier \ bin \ debug». Я не могу выяснить, как установить его в правильную папку.


Подробнее здесь: https://stackoverflow.com/questions/796 ... d-of-the-s
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»