1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 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;
- }
- }
- }
|