C#ContextMenuStrip子菜单属性

时间:2011-08-08 14:40:07

标签: c# properties contextmenustrip

有谁能告诉我如何获取ContextMenuStrip中子菜单的属性?

我知道我可以创建一个表单并将上下文菜单条放到它上面。如果我然后在条带上添加一些项目:

列出项目

  • - 红色
  • - 蓝色
  • 标记
  • - 绿色
  • - 橙色

然后我写下面的代码:

public partial class Form3 : Form
{
    public Form3()
    {
        InitializeComponent();
        this.contextMenuStrip1.AutoSize = false;
        this.contextMenuStrip1.Height = 300;
        this.contextMenuStrip1.Width = 150;
    }

    /// <summary>
    /// Handles the MouseClick event of the Form1 control.
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="System.Windows.Forms.MouseEventArgs"/> instance containing the event data.</param>
    private void Form3_MouseClick_1(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Right)
        {
            Point pt = this.PointToScreen(e.Location);
            this.contextMenuStrip1.Show(pt);
        }
    }
}

显示钢笔和标记的顶级菜单将位于非自动化条带150 * 300上但是如果我将鼠标悬停在钢笔上以获得子菜单(红色和蓝色),则此子菜单将显示在自动条带上!

如何获取子菜单属性,以便设置它的高度?

1 个答案:

答案 0 :(得分:0)

关于

的问题
  

如何获取子菜单属性,以便告诉它我的高度   想要它!

使用Items

ContextMenuStrip1.Items[0].Height=200;

以及items[0]的任何子标题:

foreach(ToolStripItem item in (ContextMenuStrip1.Items[0] as ToolStripDropDownItem).DropDownItems)
{
    item.AutoSize=false;
    item.Height=200;
}