public static Font GetMenuFont(MenuFontLevel level) { Font font = null; switch (level) { case MenuFontLevel.First: font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); break; case MenuFontLevel.Second: font = new System.Drawing.Font("微软雅黑", 10.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); break; default: font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); break; } return font; }
private void CreteMenuItem(MenuItemElement element, ToolStripItemCollection collection, MenuFontLevel level) { ToolStripItem item = null; switch (element.DisplayType) { case DisplayType.None: item = new ToolStripMenuItem(); foreach (MenuItemElement temp in element.Items) { CreteMenuItem(temp, (item as ToolStripMenuItem).DropDownItems, (int)level + 1 > 2 ? MenuFontLevel.Third : level + 1); } break; case DisplayType.Form: case DisplayType.View: case DisplayType.Tool: case DisplayType.Func: item = new ToolStripMenuItem(); item.Click += Item_Click; break; case DisplayType.Partition: item = new ToolStripSeparator(); break; default: break; } if (item != null) { item.Tag = element; item.Text = element.DisplayName; item.Font = FontFactory.GetMenuFont(level); collection.Add(item); } }