public void ButtonVisibleChanged() { IMetroToolBarButton lastVisible = null; foreach (IMetroToolBarButton btn in Controls) { var index = Controls.IndexOf(btn as Control); if (btn is MetroToolbarSeparator) { btn.Visible = lastVisible != null ? !(lastVisible is MetroToolbarSeparator) : true; } if (btn.Visible && lastVisible == null) { lastVisible = btn; continue; } System.Diagnostics.Debug.WriteLine($"Name '{btn.Name}' type '{btn.GetType()}"); if (btn.Visible) { lastVisible = btn; } } }
public void ToolbarDropDownClicked(IMetroToolBarButton e) { var btn = e as MetroToolbarDropDownButton; switch (btn.Items.Count) { case 0: OnItemClicked(btn.ButtonType); ItemClicked?.Invoke(this, btn.ButtonType); break; case 1: OnToolStripMenuClick(btn.Items[0].Tag as string); break; default: btn.ShowMenu(); break; } }
private void ChangeToolbar(MetroToolbarState status = MetroToolbarState.Browse) { IMetroToolBarButton btn = null; btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.New); if (btn != null) { btn.IsVisible = status == MetroToolbarState.Browse || status == MetroToolbarState.Found; } btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.Edit); if (btn != null) { btn.IsVisible = status == MetroToolbarState.Found; } btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.Delete); if (btn != null) { btn.IsVisible = status == MetroToolbarState.Found && buttonDeleteVisible; } btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.Undo); if (btn != null) { btn.IsVisible = status == MetroToolbarState.New || status == MetroToolbarState.Edit || status == MetroToolbarState.Find; } btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.Save); if (btn != null) { btn.IsVisible = status == MetroToolbarState.New || status == MetroToolbarState.Edit; } btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.Search); if (btn != null) { btn.IsVisible = status == MetroToolbarState.Browse || status == MetroToolbarState.Found || status == MetroToolbarState.Find; } btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.Filter); if (btn != null) { btn.IsVisible = status == MetroToolbarState.Browse || status == MetroToolbarState.Found; } btn = GetButton <MetroToolbarDropDownButton>(MetroToolbarButtonType.Preview); if (btn != null) { btn.IsVisible = status == MetroToolbarState.Found && buttonPreviewVisible; } btn = GetButton <MetroToolbarDropDownButton>(MetroToolbarButtonType.Print); if (btn != null) { btn.IsVisible = status == MetroToolbarState.Found && buttonPrintVisible; } btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.Preference); if (btn != null) { btn.IsVisible = status == MetroToolbarState.Browse || status == MetroToolbarState.Found && buttonPrefVisible; } btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.AddOn); if (btn != null) { btn.IsVisible = buttonAddOnVisible; } btn = GetButton <MetroToolbarPushButton>(MetroToolbarButtonType.Execute); if (btn != null) { var pushButton = btn as MetroToolbarPushButton; pushButton.Image = status == MetroToolbarState.Browse ? Properties.Resources.Play32 : Properties.Resources.Stop32; pushButton.NoFocusImage = status == MetroToolbarState.Browse ? Properties.Resources.Play32g : Properties.Resources.Stop32g; } }
protected virtual void OnbuttonClicked(IMetroToolBarButton button) { }
public void AddButton(IMetroToolBarButton btn, int pos) { Controls.Add(btn as Control); Controls.SetChildIndex(btn as Control, pos); }
public void ToolbarPushButtonClicked(IMetroToolBarButton e) { OnItemClicked(e.ButtonType); ItemClicked?.Invoke(e, e.ButtonType); }
public void ToolbarButtonClicked(IMetroToolBarButton e) { OnbuttonClicked(e); ButtonClicked?.Invoke(this, e); }
protected virtual void OnCustomToolbarButtonClick(IMetroToolBarButton btn) { }