/// <summary>
        /// Buildng context menu
        /// </summary>
        /// <returns></returns>
        void BuildContextMenu()
        {
            if (mnContextMenu == null) return;

            mnContextMenu.Items.Clear();
            mnAddRemoveButton.DropDownItems.Clear();

            mnContextMenu.Items.Add(mnShowMoreButton);
            mnContextMenu.Items.Add(mnShowFewerButton);
            mnContextMenu.Items.Add(mnMenuOptions);
            mnContextMenu.Items.Add(mnAddRemoveButton);

            if (navigateBar != null)
            {

                // NavigateBarButton görünümleri değiştiren ContextMenu oluşturuluyor
                // Building context menu navigatebarbutton in collection

                foreach (NavigateBarButton otb in navigateBar.NavigateBarButtons)
                {

                    // Her zaman gösterilecek
                    // If always show skip
                    if (otb.IsAlwaysDisplayed)
                        continue;

                    NavigateBarOverFlowPanelMenuItem ofpmi = new NavigateBarOverFlowPanelMenuItem(otb, true);
                    ofpmi.Click += delegate(object sender, EventArgs e)
                    {
                        // Seçilen Button Panel içerisindek kaldırılır yada eklenilir
                        // Show or Hide NavigatebarButton in panel
                        if (sender is NavigateBarOverFlowPanelMenuItem)
                        {
                            NavigateBarButton nvb = (sender as NavigateBarOverFlowPanelMenuItem).NavigateBarButton;
                            nvb.IsDisplayed = !nvb.IsDisplayed;
                        }
                    };

                    mnAddRemoveButton.DropDownItems.Add(ofpmi);

                }
            }
        }
        void InitContextMenuItems()
        {
            mnContextMenu = new ContextMenuStrip();

            // Menü kapatıldığında okun clickini kaldır
            // Closed context menu remove selected state on arrow button
            mnContextMenu.Closed += delegate(object sender, ToolStripDropDownClosedEventArgs e)
                {
                    panelArrowBtn.IsSelected = false;
                    Refresh();
                };

            // Show More Button menu item

            mnShowMoreButton = new NavigateBarOverFlowPanelMenuItem(null, false);
            mnShowMoreButton.Text  = SoftLogik.Win.Properties.Resources.TEXT_SHOW_MORE_BUTTONS;
            mnShowMoreButton.Image  = SoftLogik.Win.Properties.Resources.ArrowUp;
            mnShowMoreButton.Click += delegate(object sender, EventArgs e)
                {
                    NavigateBar.MoveButtons(MoveType.MoveUp);
                };

            // Show Fewer Button menu item

            mnShowFewerButton = new NavigateBarOverFlowPanelMenuItem(null, false);
            mnShowFewerButton.Text  = SoftLogik.Win.Properties.Resources.TEXT_SHOW_FEWER_BUTTONS;
            mnShowFewerButton.Image  = SoftLogik.Win.Properties.Resources.ArrowDown;
            mnShowFewerButton.Click += delegate(object sender, EventArgs e)
                 {
                     NavigateBar.MoveButtons(MoveType.MoveDown);
                 };

            // Seçenek
            // Menu Options menu item
            mnMenuOptions = new NavigateBarOverFlowPanelMenuItem(null, false);
            mnMenuOptions.Text  = SoftLogik.Win.Properties.Resources.TEXT_MENU_OPTIONS;
            mnMenuOptions.Click += delegate(object sender, EventArgs e)
                {
                    NavigateBar.RunNavigateBarOptionsForm();
                };

            // Ekle / Kaldır
            // Add or Remove Button menu item
            mnAddRemoveButton = new NavigateBarOverFlowPanelMenuItem(null, false);
            mnAddRemoveButton.Text  = SoftLogik.Win.Properties.Resources.TEXT_ADD_OR_REMOVE_BUTTON;
        }
        void InitNavigateBarButton()
        {
            // Control

            this.MinimumSize = new Size(NavigateBar.OVER_FLOW_BUTTON_WIDTH, minimumButtonHeight);
            this.Cursor = Cursors.Hand;
            this.ResizeRedraw = true;
            this.VisibleChanged += new EventHandler(NavigateBarButton_VisibleChanged);
            this.EnabledChanged += new EventHandler(NavigateBarButton_EnabledChanged);

            // ToolTip

            toolTip = new ToolTip();
            toolTip.ShowAlways = true;

            // OverFlowPanelButton (Panel içerisine sığmadığında overflowpanel içerisinde bu eleman gösteriliyor)
            // If cannot display navigatebutton then show this button on overflowpanel

            overFlowPanelButton = new NavigateBarOverFlowPanelButton(this);
            overFlowPanelButton.NavigateBarButton = this;
            overFlowPanelButton.IsSelected = isSelected;
            overFlowPanelButton.Click += delegate(object sender, EventArgs e)
                {
                    PerformClick(this);
                };

            // ContextMenuItem (OverFlowPanel sığmadığında menüde bu eleman gösteriliyor)
            // If cannot display on overflowpanel then show on contextmenu

            contextMenuItem = new NavigateBarOverFlowPanelMenuItem(this, false);
            contextMenuItem.Click += delegate(object sender, EventArgs e)
                {
                    PerformClick(this);
                };
        }