コード例 #1
0
        private void AllItems_ItemChanged(object sender, FilterItemChangedEventArgs e)
        {
            Invoke(new Action(() =>
            {
                ComboBox cbb;
                switch (e.Type)
                {
                case FilterItemType.Category:
                    cbb = cbbCategory;
                    break;

                case FilterItemType.Level:
                    cbb = cbbLevel;
                    break;

                case FilterItemType.Operation:
                    cbb = cbbOperation;
                    break;

                case FilterItemType.Organization:
                    cbb = cbbOrganization;
                    break;

                case FilterItemType.Process:
                    cbb = cbbProcess;
                    break;

                case FilterItemType.ReqId:
                    cbb = cbbRequId;
                    break;

                case FilterItemType.Thread:
                    cbb = cbbThread;
                    break;

                default:
                    cbb = cbbUser;
                    break;
                }

                if (e.Changes.Action == NotifyCollectionChangedAction.Add)
                {
                    foreach (var item in e.Changes.NewItems)
                    {
                        cbb.Items.Add(item);
                    }
                }
                else if (e.Changes.Action == NotifyCollectionChangedAction.Remove)
                {
                    foreach (var item in e.Changes.OldItems)
                    {
                        cbb.Items.Remove(item);
                    }
                }
            }));
        }
コード例 #2
0
        private void CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            var args = new FilterItemChangedEventArgs
            {
                Changes = e
            };

            if (sender == Operations)
            {
                args.Type = FilterItemType.Operation;
            }
            else if (sender == Processes)
            {
                args.Type = FilterItemType.Process;
            }
            else if (sender == Organizations)
            {
                args.Type = FilterItemType.Organization;
            }
            else if (sender == Threads)
            {
                args.Type = FilterItemType.Thread;
            }
            else if (sender == Categories)
            {
                args.Type = FilterItemType.Category;
            }
            else if (sender == Users)
            {
                args.Type = FilterItemType.User;
            }
            else if (sender == Levels)
            {
                args.Type = FilterItemType.Level;
            }
            else if (sender == RequestIds)
            {
                args.Type = FilterItemType.ReqId;
            }

            ItemChanged?.Invoke(this, args);
        }