public ToolStripOptionsToolbarSection(ListControl listControl)
            : base(listControl)
        {
            _listControl = listControl;

            _toolStrip             = new ToolStrip();
            _toolStrip.AutoSize    = true;
            _toolStrip.Visible     = false;
            _toolStrip.Anchor      = AnchorStyles.None;
            _toolStrip.Dock        = DockStyle.None;
            _toolStrip.GripStyle   = ToolStripGripStyle.Hidden;
            _toolStrip.TabIndex    = 0;
            _toolStrip.Text        = "List options";
            _toolStrip.CanOverflow = true;
            _toolStrip.Renderer    = new MyRenderer();
            _toolStrip.BackColor   = Color.Transparent;
            _toolStrip.Layout     += _toolStrip_Layout;
            AddDefaultToolStripButtons();
            _toolStrip.CreateControl();

            listControl.Controls.Add(_toolStrip);

            listControl.Columns.GroupedItems.DataChanged += GroupedItems_DataChanged;
            HandleEnablingGroupButtons();
        }
        public void ToolStripHostedControlAccessibleObject_GetPropertyValue_IsOffscreenPropertyId_ReturnExpected(Type type)
        {
            using var toolStrip = new ToolStrip();
            toolStrip.CreateControl();
            using ToolStripControlHost item = ReflectionHelper.InvokePublicConstructor <ToolStripControlHost>(type);
            item.Size = new Size(0, 0);
            toolStrip.Items.Add(item);

            Assert.True(GetIsOffscreenPropertyValue(item.AccessibilityObject));
            Assert.True(GetIsOffscreenPropertyValue(item.Control.AccessibilityObject));
        }
예제 #3
0
        public void ToolStripHostedControlAccessibleObject_GetPropertyValue_IsOffscreenPropertyId_ReturnExpected(Type type)
        {
            using var toolStrip = new ToolStrip();
            toolStrip.CreateControl();
            using ToolStripItem item = ReflectionHelper.InvokePublicConstructor <ToolStripItem>(type);
            item.Size = new Size(0, 0);
            toolStrip.Items.Add(item);

            AccessibleObject toolStripItemAccessibleObject = item.AccessibilityObject;

            Assert.True((bool)toolStripItemAccessibleObject.GetPropertyValue(UIA.IsOffscreenPropertyId) ||
                        (toolStripItemAccessibleObject.Bounds.Width > 0 && toolStripItemAccessibleObject.Bounds.Height > 0));
        }
예제 #4
0
        public void Insert_Owned_CreateControl()
        {
            ToolStrip toolStrip = CreateToolStrip();

            toolStrip.CreateControl();
            ToolStripItemCollection items = toolStrip.Items;

            MockToolStripButton buttonA = new MockToolStripButton("A");

            items.Insert(0, buttonA);
            Assert.AreEqual(1, items.Count, "#A1");
            Assert.AreEqual(1, itemsAdded.Count, "#A2");
            Assert.AreSame(buttonA, items[0], "#A3");
            Assert.AreSame(toolStrip, buttonA.Owner, "#A4");
            Assert.IsNotNull(buttonA.ParentToolStrip, "#A5");

            MockToolStripButton buttonB = new MockToolStripButton("B");

            items.Insert(0, buttonB);
            Assert.AreEqual(2, items.Count, "#B1");
            Assert.AreEqual(2, itemsAdded.Count, "#B2");
            Assert.AreSame(buttonB, items[0], "#B3");
            Assert.AreSame(buttonA, items[1], "#B4");
            Assert.AreSame(toolStrip, buttonB.Owner, "#B5");
            Assert.IsNotNull(buttonB.ParentToolStrip, "#B6");

            MockToolStripButton buttonC = new MockToolStripButton("C");

            items.Insert(1, buttonC);
            Assert.AreEqual(3, items.Count, "#C1");
            Assert.AreEqual(3, itemsAdded.Count, "#C2");
            Assert.AreSame(buttonB, items[0], "#C3");
            Assert.AreSame(buttonC, items[1], "#C4");
            Assert.AreSame(buttonA, items[2], "#C5");
            Assert.AreSame(toolStrip, buttonC.Owner, "#C6");
            Assert.IsNotNull(buttonC.ParentToolStrip, "#C7");
        }