あなたはリッチテキストをからロードされたファイル名またはの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
」としてより良いでしょう。)
すべての返信用 – Yahia