2012-01-31 16 views
0

txtファイルをリッチテキストボックスに保存し、新しいファイル(SaveAs)を保存するのではなくオリジナルファイルを保存します。ここでは、ファイル開いているファイルをリッチテキストボックスに保存する方法

private void SaveMyFile_Click(object sender, EventArgs e) 
    { 

     SaveFileDialog saveFile1 = new SaveFileDialog(); 
     saveFile1.DefaultExt = "*.rtf"; 
     saveFile1.Filter = "RTF Files|*.rtf";   
     if (saveFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK && 
     saveFile1.FileName.Length > 0) 
     { 
      richTextBox1.SaveFile(saveFile1.FileName, RichTextBoxStreamType.PlainText); 
     } 

    } 

任意のヘルプpleaseeee

+1

すべての返信用 – Yahia

答えて

0

あなたはリッチテキストをからロードされたファイル名またはのFileInfoを追加してみてください。ファイルが保存されていない場合は、ファイルを保存するかどうかを確認するメッセージが表示されます。それ以外の場合は、キャッシュされたinfoファイルに保存します。以下のコメントを1として

partial class YourForm : Form 
{ 
    string filePath; 

    private void SaveMyFile_Click(object sender, EventArgs e) 
    { 
     if (string.IsNullOrEmpty(filePath)) 
     { 
      SaveFileDialog saveFile1 = new SaveFileDialog(); 
      saveFile1.DefaultExt = "*.rtf"; 
      saveFile1.Filter = "RTF Files|*.rtf";   
      if (saveFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK && 
       saveFile1.FileName.Length > 0) 
      { 
       filePath = saveFile1.FileName; 
      } 
      else return; 
     } 

     try 
     { 
      richTextBox1.SaveFile(filePath, RichTextBoxStreamType.PlainText); 
     } 
     catch (Exception ee) 
     { 
      // Put exception handling code here 
     } 
    } 
} 

あなたがボタンとして保存たい場合、あなたは次のことを試すことができます:filePathの設定は、tryブロックであるか

partial class YourForm : Form 
{ 
    Button saveFileAsButton; // Add this using the Forms Designer 

    private void saveFileAsButton_Click(object sender, EventArgs e) 
    { 
     SaveFileDialog saveFile1 = new SaveFileDialog(); 
     saveFile1.DefaultExt = "*.rtf"; 
     saveFile1.Filter = "RTF Files|*.rtf";   
     if (saveFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK && 
      saveFile1.FileName.Length > 0) 
     { 
      try 
      { 
       richTextBox1.SaveFile(saveFile1.FileName, RichTextBoxStreamType.PlainText); 
       filePath = saveFile1.FileName; 
      } 
      catch (Exception ee) 
      { 
       // Put exception handling code here (e.g. error saying file cannot be saved) 
      } 
     } 
    } 
} 

注意。保存が失敗した場合は、元のファイルパスを失いたくはありません。

フォームを作成する場合は、MenuStripがあります。保存機能をメニューに移動することをおすすめします。

(ところで、あなたのフィルターでRTFのための型名は「Rich Text Document」としてより良いでしょう。)

+0

ありがとうございました – tristin

0

を保存するための私のコードがあるあなたは、ダイアログを提示したくない必要があることを言っていますか?その場合は、ファイル名だけを保存し、それを使用して保存します。

richTextBox1.SaveFile(_filename, RichTextBoxStreamType.PlainText); 
0

ちょうどあなたがファイルを開いたときに...すべてSaveFileDialogのものを失い、ただrichTextBox1.SaveFile(the_path_you_saved_when_you_opened_the_file)を呼び出し、ファイルのパスを保存します。

0

テキストボックスに読み込まれたファイルへの元のパスを保存するだけです。 filenameは、変数をファイルに元のパスを格納している

richTextBox1.SaveFile(filename, RichTextBoxStreamType.PlainText);

が開か:ユーザーが保存するボタンをクリックすると、次のコードを使用します。

0

これは、あなたが望むように聞こえるのコードです:

String fileLocation; 
private void SaveMyFile_Click(object sender, EventArgs e) 
{ 
    var performSave = true; 
    if(String.IsNullOrEmpty(fileLocation)) 
    { 
     performSave = SetFileLocation(); 
    } 
    if(performSave) 
     richTextBox1.SaveFile(fileLocation, RichTextBoxStreamType.PlainText); 

} 

private bool SetFileLocation() 
{ 
     SaveFileDialog saveFile1 = new SaveFileDialog(); 
     saveFile1.DefaultExt = "*.rtf"; 
     saveFile1.Filter = "RTF Files|*.rtf";   
     if (saveFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK && 
     saveFile1.FileName.Length > 0) 
     { 
      fileLocation = saveFile1.FileName; 
      return true; 
     } 
     return false; 
} 
+0

おかげでiを1にしようとします...あなたは、ファイルを開くコードを表示してください私はちょうどこれを試してみた^^^^デバッグ時にエラーが発生しました( "パスはnullではありません。 パラメータ名:パス) – tristin

+0

私は対処するコードを更新しましたキャンセルや空白の文字列で –

+0

ありがとうジャスティンはまた、txtファイルとして保存するために詳細を提供することもできますまた、私は書いた新しいファイルを保存するように保存ボタンと保存ボタンを作成する方が良いでしょうもし私がそれを開いたなら、オルガニナルを真っ直ぐにすることを選んでください。 – tristin

関連する問題