2016-04-02 4 views
-1

Я хочу исключить необходимость SaveFileDialog и просто добавить пользователя для сохранения ввода onClick без необходимости проходить через SaveFileDialog. Имя файла будет установлено txtModuleName.Text, а каталог/каталог и тип файла всегда будут оставаться неизменными.Сохранение ввода textBox в файл .txt без использования SaveFileDialog

string Saved_Module = ""; 

     SaveFileDialog saveFD = new SaveFileDialog(); 
     saveFD.InitialDirectory = "C:/Modules/"; 
     saveFD.Title = "Save your file as..."; 
     saveFD.FileName = txtModuleName.Text; 
     saveFD.Filter = "Text (*.txt)|*.txt|All Files(*.*)|*.*"; 
     if (saveFD.ShowDialog() != DialogResult.Cancel) 
     { 
      Saved_Module = saveFD.FileName; 
      RichTextBox allrtb = new RichTextBox(); 
      // This one add new lines using the "\n" every time you add a rich text box 
      allrtb.AppendText(txtModuleName.Text + "\n" + ModuleDueDate.Text + "\n" + txtModuleInfo.Text + "\n" + txtModuleLO.Text); 
      allrtb.SaveFile(Saved_Module, RichTextBoxStreamType.PlainText); 

RE-ATTACK - Как заменить использование диалогового окна при сохранении с простой кнопкой, которая говорит «Сохранить», который OnClick использует txtModuleName.Text как его имя и сохраняет его в заданной директории C :/Модули/в виде .txt-файла.

Заранее благодарен!

+1

Как пользователь должен предоставить имя и местоположение файла без использования 'SaveFileDialog'? Цель диалога - спросить пользователя, где файл должен быть сохранен и что он должен вызывать. Что вы предлагаете использовать в качестве альтернативы, которая была бы лучше, чем диалог, который использует каждое приложение Windows на планете для этой цели? –

+0

То, что пользователь вводит в каждое текстовое поле, определяет имя файла, каталог останется таким же, как и расширение. – TCD

+0

Так в чем ваш вопрос? Удалите код, связанный с SaveFileDialog, и укажите путь и имя файла к методу 'allrtb.SaveFile' вместо того, что вы передаете как' Saved_Module'. –

ответ

1

Необходимо указать полный путь и имя файла RichTextBox.SaveFile вместо SaveFileDialog.FileName. Добавить using System.IO;, а затем использовать что-то похожее на это:

private void button1_Click(object sender, EventArgs e) 
     { 
      String Saved_Module = Path.Combine("C:\\Module", txtModuleName.Text); 
      allrtb.SaveFile(Saved_Module, RichTextBoxStreamType.PlainText); 

     } 
Смежные вопросы