私はC#のメモ帳を作成していますが、私はほとんど完了していますが、theresは最後の問題です。 ファイルを保存できません。ファイルを開いて変更して保存しようとすると、そのファイルがすでにプロセスによって使用されているというエラーが表示されます。私は、このプロセスは私のオープンファイルメソッドによって開始されると確信しています。私はそのファイルを保存ダイアログを開く方法を持っていますが、ダイアログを必要としない、ただちにファイルを保存する方法があります。cntrl n保存すると、何を意味するのか理解できます。このファイルを保存するにはどうすればよいですか?
マイオープンファイル方式
private void openItem_Click(object sender, EventArgs e)
{
Stream myStream;
OpenFileDialog openFileDialog1 = new OpenFileDialog();
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
if ((myStream = openFileDialog1.OpenFile()) != null)
{
string srtfilename = openFileDialog1.FileName;
string filetext = File.ReadAllText(srtfilename);
GetRichTextBox().Text = filetext;
tabControl1.SelectedTab.Text = Path.GetFileName(openFileDialog1.FileName);
GlobalPath = openFileDialog1.FileName;
}
openFileDialog1.Dispose();
}
ダイアログでファイルのメソッドを保存するマイ、この1つは動作しますが、私は、私はすでに使用していたファイルを選択した場合、それがクラッシュします。
private void saveAsItem_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
using (Stream s = File.Open(saveFileDialog1.FileName, FileMode.Create))
using (StreamWriter sw = new StreamWriter(s))
{ sw.Write(GetRichTextBox().Text); }
tabControl1.SelectedTab.Text = Path.GetFileName(saveFileDialog1.FileName);
saveFileDialog1.Dispose();
}
}
マイファイルの保存方法迅速、と1つのイム持つ問題。これは私がこれまでに試したことです。
あなたのアプリをデバッグして例外がスローされるのを見てみませんか? – Fang
@Fangここに質問を投稿するのは簡単です... –
@Fangここに投げられる例外は、所有プロセスが何であるかを教えてくれるのではなく、他の何かがファイルを所有していて、確かに、ストリームを使ってファイルを開くというコンテキストを含めると解決策が見つかる可能性がありますが、例外だけでは不十分です。 – Diosjenin