ToolStripDropDown列表的水平分隔符

时间:2012-11-19 12:22:28

标签: c# separator toolstrip toolstripdropdown

我正在创建一个ToolStripDropDownButton,其中包含三个ToolStripButton个。我想在第二个按钮后添加一个分隔符。

这是我的代码。

using System;
using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        internal ToolStripDropDownButton dropDownButton1;
        internal ToolStripDropDown dropDown;
        internal ToolStripButton buttonRed;
        internal ToolStripButton buttonBlue;
        internal ToolStripButton buttonYellow;

        public Form1()
        {
            InitializeComponent();

            dropDownButton1 = new ToolStripDropDownButton();
            dropDown = new ToolStripDropDown();
            dropDownButton1.Text = "A";

            dropDownButton1.DropDown = dropDown;
            dropDownButton1.DropDownDirection = ToolStripDropDownDirection.Right;
            dropDownButton1.ShowDropDownArrow = false;

            buttonRed = new ToolStripButton();
            buttonRed.ForeColor = Color.Red;
            buttonRed.Text = "A";

            buttonBlue = new ToolStripButton();
            buttonBlue.ForeColor = Color.Blue;
            buttonBlue.Text = "A";

            buttonYellow = new ToolStripButton();
            buttonYellow.ForeColor = Color.Yellow;
            buttonYellow.Text = "A";

            ToolStripSeparator s = new ToolStripSeparator();

            dropDown.Items.AddRange(new ToolStripItem[] { buttonRed, buttonBlue, s, buttonYellow });
            toolStrip1.Items.Add(dropDownButton1);
        }
    }
}

问题是分隔符是垂直显示的。

enter image description here

如何让它水平显示?

1 个答案:

答案 0 :(得分:4)

您需要设置ToolStripDropDown的{​​{1}}属性。默认情况下,它是LayoutStyle,但必须设置为ToolStripLayoutStyle.Flow

或者,您也可以跳过创建和配置ToolStripLayoutStyle.VerticalStackWithOverflow实例,并使用ToolStripDropDown属性将ToolStripItem直接添加到ToolStripDropDownButton

DropDownItems