(精华)2020年02月13日 WinForm进销存管理系统项目实战(ToolStrip菜单控件的使用)

132 阅读1分钟
/// <summary>
/// 添加工具菜单项
/// </summary>
/// <param name="toolList"></param>
private void AddToolMenuItem(List<ToolMenuInfoModel> toolList)
{
    //1.统计分组
    List<int> goupIds = new List<int>();
    foreach (var ti in toolList)
    {
        if (!goupIds.Contains(ti.TGroupId))
            goupIds.Add(ti.TGroupId);
    }
    //2.工具菜单项的添加
    foreach (var groupId in goupIds)
    {
        var gTools = toolList.Where(t => t.TGroupId == groupId);
        if (gTools.ToList().Count > 0)
        {
            foreach (var tmi in gTools)
            {
                ToolStripButton tsbtn = new ToolStripButton();
                tsbtn.Text = tmi.TMenuName;
                tsbtn.Name = tmi.TMenuId.ToString();
                //图片
                if (!string.IsNullOrEmpty(tmi.TMPic))
                    tsbtn.Image = Image.FromFile(Application.StartupPath + "/" + tmi.TMPic);
                //图片与文本显示方式
                tsbtn.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText;
                //文本与图片的显示位置
                tsbtn.TextImageRelation = TextImageRelation.ImageBeforeText;
                tsbtn.Tag = tmi;
                tsbtn.Click += Tsbtn_Click;//单击事件注册
                PSITools.Items.Add(tsbtn);
            }
            ToolStripSeparator sp = new ToolStripSeparator();
            PSITools.Items.Add(sp);
        }
    }
}