这有点奇怪,让我尽量解释一下:
当我创建一个新文件并保存它时,它会正确保存(test.xml)。 当我对此文件进行更改并保存时,它会正确保存(到test.xml) 当我再次对此文件进行更改或只选择“另存为”时,它可以正常工作(newtest.xml)
但是,当我打开文件时,请对文件(test.xml)进行更改,然后单击Save it is saving to(newtest.xml)。
这是在我的MainForm.cs
中 if (this.openEditorDialog1.ShowDialog(this) == DialogResult.OK && editForm != null)
{
editForm.Close();
editForm = new EditorForm(this);
editForm.OpenFile(this.openEditorDialog1.FileName);
editForm.Closing += new CancelEventHandler(EditorForm_Closing);
editForm.MdiParent = this;
editForm.Show();
}
private void biFileSave_Click(object sender, EventArgs e)
{
if (!editForm.HasFileName)
{
if (this.saveEditorDialog1.ShowDialog(this) == DialogResult.OK)
{
this.ActiveDiagram.SaveSoap(this.saveEditorDialog1.FileName);
editForm.FileName = this.saveEditorDialog1.FileName;
}
}
else
{
this.ActiveDiagram.SaveSoap(this.saveEditorDialog1.FileName);
}
这是在我的EditorForm.cs
中 public void OpenFile(string strFileName)
{
diagramComponent.LoadSoap(mainForm.openEditorDialog1.FileName);
this.FileName = mainForm.openEditorDialog1.FileName;
this.tabControl1.SelectedTab = DiagramTab;
}
我确定它与我在EditoForm中所做的事情有关,但我似乎无法弄明白。
答案 0 :(得分:2)
else
{
this.ActiveDiagram.SaveSoap(this.saveEditorDialog1.FileName);
看起来你想要:
this.ActiveDiagram.SaveSoap(editForm.FileName);
答案 1 :(得分:1)
必须与mainForm.openEditorDialog1.FileName
有关。使用执行保存的表单的FileName
属性。打开文件时,将fileName设置为mainForm.openEditorDialog1.FileName
。当您保存时,也可以在那里设置FileName
属性。这样,每当更改当前文件时,都会适当地设置FileName属性。然后,当需要保存文件时,您始终拥有正确的文件名。
总之,只能在使用后立即使用SaveAs对话框的.FileName
属性或FileOpen对话框。