public void CloseDocument(DocumentViewModel doc) { //如果文档修改过则询问是否保存,cancel则取消关闭文档。 if (doc.IsDirty) { DialogResult result =MessageBox.Show("是否保存" + doc.Title + "?", "保存", MessageBoxButtons.YesNoCancel); if (result == DialogResult.Yes) { SaveDocument(doc); } else if (result == DialogResult.Cancel) { return; } } //如果文档没被改过则直接关闭 if (DocumentViewModels.Contains(doc)) DocumentViewModels.Remove(doc); }
public void CloseAllBut(DocumentViewModel doc) { var doc2close = new List<DocumentViewModel>(); foreach(var docVM in DocumentViewModels) { if (docVM != null && docVM != doc) doc2close.Add(docVM); } foreach(var docVM in doc2close) { CloseDocument(docVM); } }
public void SaveDocument(DocumentViewModel doc, bool saveAs = false) { //如果doc的文件名是空的则证明这个文件是未命名文件或者saveAs是true,使用另存为,否则直接覆盖保存。 if (doc.FileName == null || saveAs) { SaveFileDialog saveDlg = new SaveFileDialog(); saveDlg.AddExtension = true; saveDlg.Filter = "Lua脚本文件|*.lua|C#文件|*.cs|文本文件|*.txt|所有文件|*.*"; saveDlg.FilterIndex = 1; if (saveDlg.ShowDialog() == DialogResult.OK) { doc.SaveFile(saveDlg.FileName); } } else { doc.SaveFile(); } }