private void OpenFile() { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "Gedcom 5.5.1 Datei (*.ged)|*.ged"; if (ofd.ShowDialog() == DialogResult.OK) { this.LoadFile(ofd.FileName); RecentFilesManager.AddFile(ofd.FileName); } }
private void ReloadRecentFiles() { recentFiles.DropDownItems.Clear(); foreach (KeyValuePair <int, string> file in RecentFilesManager.Files) { ToolStripMenuItem item = new ToolStripMenuItem(); item.Text = string.Format("{0} {1}", file.Key, file.Value); item.Click += (sender, e) => { if (File.Exists(file.Value)) { this.LoadFile(file.Value); } else { if (MessageBox.Show(string.Format("Die Datei '{0}' konnte nicht mehr gefunden werden. Möchten Sie diese aus der Liste der zuletzt geöffneten Dateien entfernen?", file.Value), "Zuletzt geöffnete Dateien", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { RecentFilesManager.RemoveFile(file.Value); } } }; recentFiles.DropDownItems.Add(item); } if (RecentFilesManager.Files.Count > 0) { ToolStripSeparator separator = new ToolStripSeparator(); recentFiles.DropDownItems.Add(separator); ToolStripMenuItem clearRecentFiles = new ToolStripMenuItem(); clearRecentFiles.Text = "Liste leeren"; clearRecentFiles.Image = Properties.Resources.cross; clearRecentFiles.Click += (sender, e) => { if (MessageBox.Show("Möchten Sie die Liste der zuletzt geöffneten Dateien wirklich löschen?", "Zuletzt geöffnete Dateien", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { RecentFilesManager.RemoveAllFiles(); } }; recentFiles.DropDownItems.Add(clearRecentFiles); } }