-1

我想从数据库(SQL Server)创建 MenuStrip 动态(在 winform C#.Net 4.0 中)并从用户身份验证中管理它。

现在,我不知道如何为我的菜单创建 SQL 表、菜单和创建事件处理程序。

请帮我。

谢谢

4

2 回答 2

2

只需从数据库加载您想要的数据,选择用户必须看到的内容,
然后将一个容器放在您希望 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);

但请下次你表现出一些努力

于 2012-09-10T17:01:04.093 回答
2

您可以在 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
于 2012-09-10T19:32:10.870 回答