2015-10-20 5 views
2

Я пытаюсь создать простую прикладную программу Windows Form, которая сохраняет текстовый файл. У меня возникли проблемы со следующей программой, она дает мне:Ошибка SaveFileDialog

Пустой путь не является юридическим

namespace Filing 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 

     } 

     private void button_Save_Click(object sender, EventArgs e) 
     { 

      SaveFileDialog file = new SaveFileDialog(); 

      file.Filter = "Text (*.txt) | Word File *.doc"; 
      file.Title = "Save a file"; 
      File.WriteAllText(file.FileName, richTextBox1.Text); 

      file.ShowDialog(); 
     } 

     private void button_exit_Click(object sender, EventArgs e) 
     { 
      this.Close(); 
     } 
    } 
} 

ответ

1

Потому что ты не «показать» SaveFileDialog еще, так что FileName пусто.

Попробуйте переместить ShowDialog вверх:

private void button_Save_Click(object sender, EventArgs e) 
    { 

     SaveFileDialog file = new SaveFileDialog(); 

     file.Filter = "Text (*.txt) | Word File *.doc"; 
     file.Title = "Save a file"; 
     //Ask the user to select the file path and file name, don't forget to handle cancel button! 
     if(file.ShowDialog() != DialogResult.Cancel) 
     { 
       File.WriteAllText(file.FileName, richTextBox1.Text); 
     } 
    } 
+0

Это сработало для меня, спасибо, так много :) –

1

Вы должны обернуть заявление письма в качестве следующего.

if(file.ShowDialog()== DialogResult.OK) 
    File.WriteAllText(file.FileName, richTextBox1.Text); 
Смежные вопросы