2016-04-02 6 views
-1

SaveFileDialogの必要性を排除し、ユーザがonClickを保存する機能を追加するだけで、SaveFileDialogを通過する必要はありません。ファイル名はtxtModuleName.Textで設定され、場所/ディレクトリとファイルタイプは常に同じになります。SaveFileDialogを使用せずに.txtファイルにテキストボックス入力を保存する

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 - クリック時には、その名前としてtxtModuleName.Textを使用すると、設定されたディレクトリCに保存する「保存」と言うシンプルなボタンで保存するときはどうすればダイアログボックスの使用を置き換えますか:/ Modules/.txtファイルの形式。

ありがとうございます!

+1

はどのようにユーザーが 'SaveFileDialog'を使用せずにファイル名と場所を提供することになっていますか?ダイアログの目的は、ファイルを保存する場所と呼び出す場所をユーザーに尋ねることです。惑星上のすべての単一のWindowsアプリケーションがその目的のために使用するダイアログより優れている代替手段として何を使用することを提案しますか? –

+0

各テキストボックスにユーザーが入力する内容はファイル名を決定し、ディレクトリは拡張子と同じままです。 – TCD

+0

あなたの質問は何ですか? SaveFileDialogに関連するコードを削除し、 'Saved_Module'として渡すのではなく' allrtb.SaveFile'メソッドにパスとファイル名を指定してください。 –

答えて

1

SaveFileDialog.FileNameではなく、フルパスとファイル名をRichTextBox.SaveFileにする必要があります。 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); 

     } 
関連する問題