private void RemoveFromListToolStripMenuItem_Click(object sender, EventArgs e) { ToolStripItem menuItem = sender as ToolStripItem; if (menuItem != null) { // Retrieve the ContextMenuStrip that owns this ToolStripItem ContextMenuStrip owner = menuItem.Owner as ContextMenuStrip; if (owner != null) { // Get the control that is displaying this context menu LinkLabel c = owner.SourceControl as LinkLabel; RecentFileManager.RemoveFile(c.Tag as string); } } }
private void LoadRecentFiles() { recentPanel.Controls.Clear(); var files = RecentFileManager.RecentFiles(); foreach (var f in files) { if (Directory.Exists(f)) { LinkLabel c = new LinkLabel(); c.Text = Path.GetFileName(f); c.Tag = f; c.LinkColor = c.ActiveLinkColor = c.VisitedLinkColor = _linkColor; c.LinkBehavior = LinkBehavior.HoverUnderline; c.ContextMenuStrip = contextMenuStrip; toolTip.SetToolTip(c, f); c.Click += (sender, e) => { if (Directory.Exists(f)) { Program.Mainform.OpenConfigurationFolder(f); } else { var result = MessageBox.Show($"Folder '{c.Text}' could not be opened.{Environment.NewLine}Do you want to remove the references to it from Recent Work Folder?", Program.AppName, MessageBoxButtons.YesNo, MessageBoxIcon.Error); if (result == DialogResult.Yes) { RecentFileManager.RemoveFile(f); } } }; c.Dock = DockStyle.Top; recentPanel.Controls.Add(c); } } }