【问题标题】:How to Create MenuStrip dynamic (in winform C#.Net) From Database (SQL Server)?如何从数据库(SQL Server)创建 MenuStrip 动态(在 winform C#.Net 中)?
【发布时间】:2012-09-03 13:58:32
【问题描述】:

我想从数据库(SQL Server)创建 MenuStrip 动态(在 winform C#.Net 4.0 中)并从用户 Authenticate 进行管理。

现在,我不知道如何创建 SQL 表、Menu 以及为 My menu 创建事件处理程序。

请帮帮我。

谢谢

【问题讨论】:

    标签: c# sql winforms c#-4.0


    【解决方案1】:

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

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

    【讨论】:

      【解决方案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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-13
        • 1970-01-01
        • 1970-01-01
        • 2011-07-17
        • 1970-01-01
        相关资源
        最近更新 更多