{A}
{S0}简介
我的爱好项目之一,我想用一个"主菜单"。而不是使用Windows菜单功能,我想对一些DHTML的样式下拉列表菜单。搜索后,我得到了许多收费和免费的控制,我只喜欢Infragestics控制。但在实践中,这是一个很大的混乱,我要安装整个事情,我的项目是变得过大,有不足的表现。所以我想我必须发展我梦想中的用户控制。
我想与大家分享我的新用户的控制,使你也可以使用它。这是很容易定制,如果你有C#的知识。使用代码
只需下载代码和添加到您的Windows窗体项目。菜单项可以被添加到控制使用:ArrayList NavItems = new ArrayList();
ArrayList childNavItems = new ArrayList();
childNavItems.Add(new ctrlMenuBar.childNavItems("Leads", "mnuLeads"));
childNavItems.Add(new ctrlMenuBar.childNavItems("Project List",
"mnuProjectList"));
childNavItems.Add(new ctrlMenuBar.childNavItems("Development",
"mnuDevelopment"));
ctrlMenuBar.NavItem nv = new ctrlMenuBar.NavItem("Projects", "mnuProjects",
childNavItems, true);
NavItems.Add(nv);
在下面的行:ctrlMenuBar.NavItem("; Projectsquot","mnuProjectsquot,childNavItems,TRUE);真正的控制,无论是所选项目或不告诉。此参数是可选的。如果你把真实的多个项目,最后一个项目将被选定的项目。
渲染菜单,你必须调用该方法:{C}
一个典型的菜单初始化部分将看起来像这样:private void frmMain_Load(object sender, EventArgs e)
{
ArrayList NavItems = new ArrayList();
ArrayList childNavItems = new ArrayList();
childNavItems.Add(new ctrlMenuBar.childNavItems("Leads", "mnuLeads"));
childNavItems.Add(new ctrlMenuBar.childNavItems("Project List",
"mnuProjectList"));
childNavItems.Add(new ctrlMenuBar.childNavItems("Development",
"mnuDevelopment"));
ctrlMenuBar.NavItem nv = new ctrlMenuBar.NavItem("Projects",
"mnuProjects", childNavItems, true);
NavItems.Add(nv);
childNavItems = new ArrayList();
childNavItems.Add(new ctrlMenuBar.childNavItems("Client List",
"mnuClientList"));
nv = new ctrlMenuBar.NavItem("Clients", "mnuClients", childNavItems);
NavItems.Add(nv);
childNavItems = new ArrayList();
childNavItems.Add(new ctrlMenuBar.childNavItems("Developer List",
"mnuDeveloperList"));
nv = new ctrlMenuBar.NavItem("Developers", "mnuDevelopers",
childNavItems);
NavItems.Add(nv);
childNavItems = new ArrayList();
childNavItems.Add(new ctrlMenuBar.childNavItems("Reports","mnuReports"));
childNavItems.Add(new ctrlMenuBar.childNavItems("Events", "mnuEvents"));
childNavItems.Add(new ctrlMenuBar.childNavItems("Documents",
"mnuDocuments"));
nv = new ctrlMenuBar.NavItem("Utilities", "mnuUtilities", childNavItems);
NavItems.Add(nv);
ctrlMenuBar1.MenuItems = NavItems;
ctrlMenuBar1.RenderMenu();
}
您可以捕捉从控制按钮单击事件方法OnMenuSelection()例如:屏幕的背后
用户控制(ctrlMenuBar.cs)背后的屏幕上使用两个子类的一个主类ctrlMenuBar:NavItem父菜单项和子菜单项childNavItems。历史
我仍然使用户控制的变化。每当有重大的变化是增加的,我会更新这篇文章。感谢我的用户控制试图。