Начать процесс с DialogResult c # - PullRequest
0 голосов
/ 17 октября 2018

На самом деле я пишу программу, которая создает конкретные файлы Excel, которые мне нужны, с Microsoft.Office.Interop.Excel.Это отлично работает.

Моя программа создает, затем сохраняет и закрывает новый файл Excel (работает нормально).

 sheet.SaveCopyAs(path);
 sheet.Saved = true;
 sheet.Close(true, misValue, misValue);
 excel.Quit();

Когда новый файл Excel был успешно создан, открывается окно DialogResult и спрашивает, хочу ли я открыть новый файл Excel или нет

DialogResult dr = MessageBox.Show("Open new file?", "text", MessageBoxButtons.YesNo);
          {
             if (DialogResult == DialogResult.Yes)
             {
                  Process.Start(path);
             }
             else if (DialogResult == DialogResult.No)
             {                          
                   this.Close();
             }

Но когда я нажимаю YES, ничего не происходитслучается, новый файл не открывается.

Я пробовал его с помощью дополнительной кнопки в форме

 private void button4_Click(object sender, EventArgs e)
        {
            Process.Start(path);
        }

Этот способ работает, но почему диалоговое окно DialogResult не открывает мой новый файл Excel

1 Ответ

0 голосов
/ 17 октября 2018

Ваше диалоговое значение Result хранится в dr, поэтому вы должны сравнить dr:

DialogResult dr = MessageBox.Show("Open new file?", "text",  
                                  MessageBoxButtons.YesNo);
if (dr == DialogResult.Yes)
{
    Process.Start(path);
}
else if (dr == DialogResult.No)
{                          
     this.Close();
}
...