/// <summary> /// Remove NavigateBarButton from collection /// </summary> /// <param name="e"></param> void NavigateBarButtonCollection_OnButtonRemoved(NavigateBarButtonEventArgs e) { try { // Remove from orjinal order string key = string.IsNullOrEmpty(e.NavigateBarButton.Key) ? e.NavigateBarButton.Caption : e.NavigateBarButton.Key; if (buttonOrder.ContainsKey(key)) buttonOrder.Remove(key); // Collection if (this.NavigateBarButtons.Count >= 0) { // set new displayed button count displayedButtonCount = this.GetVisibleButtonCount(VisibleType.Visible); // Select next button if possible if (this.NavigateBarButtons.Count >= 0) this.SelectedButton = this.NavigateBarButtons[0]; else this.SelectedButton = null; this.ReDisplay(displayedButtonCount); // trigger event if (OnNavigateBarButtonRemoved != null) OnNavigateBarButtonRemoved(e.NavigateBarButton); } } catch { } }
void NavigateBarButton_Selected(NavigateBarButtonEventArgs e) { // Zaten seçili ise // If already selected return if (this.SelectedButton != null && this.SelectedButton.Equals(e.NavigateBarButton)) return; // Cancel Selected Button NavigateBarButton previousSelected = this.SelectedButton; NavigateBarButtonCancelEventArgs cancelArgs = new NavigateBarButtonCancelEventArgs(e.NavigateBarButton, previousSelected); if (this.OnNavigateBarButtonSelecting != null) // Run Selecting Event this.OnNavigateBarButtonSelecting(cancelArgs); if (cancelArgs.Cancel) // Check Cancel state { e.NavigateBarButton.IsSelected = false; this.SelectedButton = previousSelected; previousSelected = null; return; } // Control içerisindeki tüm butonların IsSelected ayarla // set IsSelected state for all buttons in collection foreach (NavigateBarButton nvb in this.NavigateBarButtons) nvb.IsSelected = nvb.Equals(e.NavigateBarButton); // Seçili NavigateBarButtonun özelliklerini aktar // Set new caption and image info for selected button this.SetCaptionText(e.NavigateBarButton); // Select Button selectedButton = e.NavigateBarButton; // Seçilen NavigateBarButton için Controlü göster // display releated control for selected button this.SetControlForNavigateBarButton(e.NavigateBarButton.RelatedControl); // If set true IsShowOnButtonSelect and not displayed screen then show collapse screen if (this.IsCollapseScreenShowOnButtonSelect && !collapsibleScreen.IsShowWindow) ShowOverScreen(); // Trigger Event if (OnNavigateBarButtonSelected != null) OnNavigateBarButtonSelected(e.NavigateBarButton); }
/// <summary> /// Add new NavigateBarButton in collection /// </summary> /// <param name="e"></param> void NavigateBarButtonCollection_OnButtonAdded(NavigateBarButtonEventArgs e) { NavigateBarButton nbButton = e.NavigateBarButton; if (nbButton == null) return; // NavigateBarButtona özelliklerini belirt // Set NavigateBarButton properties nbButton.NavigateBar = this; nbButton.Height = this.NavigateBarButtonHeight; nbButton.OverFlowPanelButton.Height = this.OverFlowPanelHeight - 2; nbButton.Visible = true; nbButton.Dock = DockStyle.Bottom; // NavigateBarButtonu ekle // Add navigatebar button this.Controls.Add(nbButton); // Eğer gözükmesini istenen sayıdan dazla ise eklenen // NavigateBarButtonları görünmez yaparak OverFlowPanele gönder // if collection count bigger max displayed count then show on overflowpanel if (this.NavigateBarButtons.Count > this.NavigateBarDisplayedButtonCount) nbButton.Visible = false; // Orjinal Order string strKey = string.IsNullOrEmpty(nbButton.Key) ? nbButton.Caption : nbButton.Key; if (string.IsNullOrEmpty(strKey)) // if empty key create a new key from guid strKey = NavigateBarHelper.CreateUniqKey(); buttonOrder.Add(strKey, this.NavigateBarButtons.Count); // Display Panel this.ReDisplayNavigateBarButtons(); // if added first navigatebar button select first button if (this.NavigateBarButtons.Count == 1) { nbButton.IsSelected = true; NavigateBarButton_Selected(new NavigateBarButtonEventArgs(nbButton)); } // Overflow panel daima en altta olmalı if (this.Controls.Contains(overFlowPanel)) this.Controls.SetChildIndex(overFlowPanel, this.Controls.Count); // set new displayed button count displayedButtonCount = this.GetVisibleButtonCount(VisibleType.Visible); // NavigateBarButton olayları / events nbButton.OnNavigateBarButtonSelected += new NavigateBarButton.OnNavigateBarButtonSelectedEventHandler(NavigateBarButton_Selected); nbButton.OnNavigateBarButtonDisplayChanged += new NavigateBarButton.OnNavigateBarButtonDisplayChangedEventHandler(NavigateBarButton_DisplayChanged); // trigger Event if (OnNavigateBarButtonAdded != null) OnNavigateBarButtonAdded(nbButton); }