Это действительно расстраивает меня. Я новичок в C Sharp, поэтому ищу некоторую помощь. Мой Сохранить / Сохранить как полностью fubar.
На самом деле два вопроса:
Как сохранить изменения в существующий файл, не открывая диалоговое окно сохранения? Если я нажимаю кнопку «Сохранить», появляется диалоговое окно, которое хорошо, поэтому я сохраняю его, затем вносим некоторые изменения и нажимаю «Сохранить» снова, оно открывает диалоговое окно, а не просто сохраняет файл с уже заданным именем.
Как мне показать имя файла, а не полный путь в диалоге сохранения? Отображается как имя файла: C: \ Users \ имя пользователя \ desktop \ save \ filename.xml
Это в MainForm.cs.
private void biFileSave_Click(object sender, EventArgs e)
{
// Save diagram
EditorForm editForm = this.ActiveDiagramForm;
if (editForm != null)
{
if (!editForm.HasFileName)
{
if (this.saveEditorDialog.ShowDialog(this) == DialogResult.OK)
{
this.ActiveDiagram.SaveSoap(this.saveEditorDialog.FileName);
}
}
else
{
this.ActiveDiagram.SaveSoap(this.saveEditorDialog.FileName);
}
}
private void biFileSaveAs_Click(object sender, EventArgs e)
{
// Save As diagram
EditorForm editForm = this.ActiveDiagramForm;
if (editForm != null)
{
if (editForm.HasFileName)
{
this.saveEditorDialog.FileName = editForm.FileName;
}
if (this.saveEditorDialog.ShowDialog(this) == DialogResult.OK)
{
this.ActiveDiagram.SaveSoap(this.saveEditorDialog.FileName);
string strFileName = this.saveEditorDialog.FileName;
}
}
}
Это в EditForm.cs
public string FileName
{
get
{
return this.fileName;
}
set
{
this.fileName = value;
this.Text = Path.GetFileNameWithoutExtension(this.fileName);
}
}
public bool HasFileName
{
get
{
return (this.fileName != null && this.fileName.Length > 0);
}
}
EDIT:
Спасибо, что так быстро помогли мне в этом! Мое сохранение теперь работает, как и ожидалось, однако оно привело к странной проблеме с «Сохранить как» (код выше).
Если я открою сохраненный файл (test.xml), а затем нажмите «Сохранить как» (назовите его test2.xml), он будет сохранен в новом файле. НО, когда я снова открою этот test.xml, внесу изменения и нажму «Сохранить», эти изменения сохранятся в test2.xml. Очень странно ... есть идеи?