using FastReport.Design; using FastReport.Utils; using System; using System.ComponentModel; using System.Windows.Forms; namespace FastReport.Controls { internal class ToolStripOpenButton : ToolStripSplitButton { private Designer designer; private void btnOpen_DropDownOpening(object sender, EventArgs e) { DropDown.Items.Clear(); if (designer.cmdRecentFiles.Enabled) { foreach (string s in designer.RecentFiles) { var item = new ToolStripMenuItem(s) { Font = DrawUtils.DefaultFont }; if (designer.cmdRecentFiles.IsCloudFile(s)) item.Image = designer.GetImage(259); DropDown.Items.Insert(0, item); } } // wpf if (e is CancelEventArgs c && DropDown.Items.Count == 0) c.Cancel = true; } private void btnOpen_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e) { DropDown.Close(); designer.cmdRecentFiles.LoadFile(e.ClickedItem.Text); } public ToolStripOpenButton(Designer designer) { this.designer = designer; DisplayStyle = ToolStripItemDisplayStyle.Image; DropDownOpening += btnOpen_DropDownOpening; ButtonClick += designer.cmdOpen.Invoke; DropDownItemClicked += btnOpen_DropDownItemClicked; } } }