コード例 #1
0
ファイル: TabControl.cs プロジェクト: JaykeBird/ssui
        private void Items_ItemRemoving(object sender, ItemRemovingEventArgs <TabItem> e)
        {
            if (_internalAction)
            {
                return;
            }
            if (e.Item != null)
            {
                TabItemClosingEventArgs ee = new TabItemClosingEventArgs(e.Item);
                TabClosing?.Invoke(this, ee);

                if (ee.Cancel)
                {
                    // don't remove or close anything, just exit
                    closedTabIndex = -1;
                    e.Cancel       = true;
                    return;
                }

                if (Items.SelectedItems.Contains(e.Item) && (SelectedTabClosedAction == SelectedTabCloseAction.SelectTabToLeft || SelectedTabClosedAction == SelectedTabCloseAction.SelectTabToRight))
                {
                    closedTabIndex = Items.IndexOf(e.Item);
                }
                else
                {
                    closedTabIndex = -1;
                }
            }
        }
コード例 #2
0
        internal bool RaiseTabItemClosingEvent(MetroTabItem closingItem)
        {
            if (TabItemClosingEvent != null)
            {
                foreach (TabItemClosingEventHandler subHandler in TabItemClosingEvent.GetInvocationList())
                {
                    var args = new TabItemClosingEventArgs(closingItem);
                    subHandler.Invoke(this, args);
                    if (args.Cancel)
                        return true;
                }
            }

            return false;
        }
コード例 #3
0
        internal bool RaiseTabItemClosingEvent(MetroTabItem closingItem)
        {
            if (TabItemClosingEvent != null)
            {
                foreach (TabItemClosingEventHandler subHandler in TabItemClosingEvent.GetInvocationList())
                {
                    TabItemClosingEventArgs args = new TabItemClosingEventArgs(closingItem);
                    subHandler.Invoke(this, args);
                    if (args.Cancel)
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
コード例 #4
0
ファイル: BaseTabControl.cs プロジェクト: LionFree/Cush
        internal bool RaiseTabItemClosingEvent(CushTabItem closingItem)
        {
            if (TabItemClosingEvent == null) return false;
            foreach (var @delegate in TabItemClosingEvent.GetInvocationList())
            {
                var subHandler = (TabItemClosingEventHandler) @delegate;
                var args = new TabItemClosingEventArgs(closingItem);
                subHandler.Invoke(this, args);
                if (args.Cancel)
                    return true;
            }

            return false;
        }