我想从数据库(SQL Server)创建 MenuStrip 动态(在 winform C#.Net 4.0 中)并从用户身份验证中管理它。
现在,我不知道如何为我的菜单创建 SQL 表、菜单和创建事件处理程序。
请帮我。
谢谢
只需从数据库加载您想要的数据,选择用户必须看到的内容,
然后将一个容器放在您希望 menuStrip 所在的位置(例如面板)
,然后使用类似的东西:
List<string> menuItems = LoadUserMenuItems();
ContextMenuStrip menu = new ContextMenuStrip();
menu.Dock = DockStyle.Fill;
foreach (var menuItem in menuItems)
{
MenuItem item = new MenuItem(menuItem);
item.Text = menuItem;
item.Click += new EventHandler(item_Click);// item_click is event handler name
// item.MenuItems.Add(); you could use this to add sub items
}
panel1.Controls.Add(menu);
但请下次你表现出一些努力
您可以在 SQL 中创建表:
CREATE TABLE [dbo].[MenuItems]
(
[MenuID] [int] IDENTITY(1,1) NOT NULL,
[MenuTitle] [nvarchar](50) NOT NULL,
[MenuIdParent] [int] NULL,
[MenuEventHandler] [nvarchar](50) NULL,
[MenuLanguageID] [int] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[MenuItems] ADD CONSTRAINT [DF_MenuItems_MenuLanguageID] DEFAULT ((1)) FOR [MenuLanguageID]
GO