C# 包含50个项目的通知图标上的contextmenustrip如何在没有滚动条的情况下显示所有项目

C# 包含50个项目的通知图标上的contextmenustrip如何在没有滚动条的情况下显示所有项目,c#,winforms,C#,Winforms,contextmenustrip at notify(通知)图标包含50个项目如何在没有滚动条的情况下显示所有项目。一次显示所有项目。 对于菜单,我设置了以下属性 menu = new ContextMenuStrip(); menu.AutoSize = false; menu.Height = 600; menu.Width = 200; menu.LayoutStyle = ToolStripLayoutSt

contextmenustrip at notify(通知)图标包含50个项目如何在没有滚动条的情况下显示所有项目。一次显示所有项目。 对于菜单,我设置了以下属性

menu = new ContextMenuStrip();        
menu.AutoSize = false;         
menu.Height = 600;            
menu.Width = 200;            
menu.LayoutStyle = ToolStripLayoutStyle.Flow;
FlowLayoutSettings fls = menu.LayoutSettings as FlowLayoutSettings;                    
fls.FlowDirection = FlowDirection.TopDown;            
menu.CanOverflow = true;
对于属性下面设置的项

item.Overflow = ToolStripItemOverflow.Always;
但这对我不起作用。它仅显示滚动条。

请尝试以下操作:

添加标签并将其可见性设置为false,然后在for循环中,只需添加行:

for(i)
{
    menu.Items.Add(item);
    menu.DropDownHeight += label.Height;
    // other stuff
}

如何传入项?我通过配置文件获取项,只是循环并添加到菜单中,如下所示:menu.items.add(item);我试过了,但它显示了以下错误system.windows.Forms.contextmenustrip不包含下拉高度的定义。在foreach循环中,am将文本和事件添加到项中,该项将添加到菜单框中!对不起,请尝试
menu.Height+=label.Height仍然只显示滚动条。我希望在没有滚动条的情况下一次查看所有项目。在这里,我为菜单项autosize=false设置了下面的内容,并设置了高度和宽度项。Text=hostApplication.Name;item.Click+=新建事件处理程序(左键单击);菜单高度+=项目高度;添加(新的ToolStripSeparator());和图像,item.Overflow=ToolStripItemOverflow.Always;但它仍然只显示滚动条。我希望在没有滚动条的情况下一次查看所有项目。在这里,我为菜单项autosize=false设置了下面的内容,并在foreach循环项中设置了高度和宽度=new ToolStripMenuItem();item.Text=hostApplication.Name;item.Click+=新建事件处理程序(左键单击);菜单.项目.添加(项目);sep=新的ToolStripSeparator();菜单项添加(sep);item.Overflow=ToolStripItemOverflow.Always;根据需要尝试
item.Overflow=ToolStripItemOverflow.asneed