private void OnClick(object sender, EventArgs e) { EnumStripMenuItem <T> menuItem = (EnumStripMenuItem <T>)sender; clickedHandler((T)menuItem.Tag); ClearAllCheckedState(); CheckedMenuItem = menuItem; menuItem.Checked = true; }
public void SetCheckedByValue(T value) { ClearAllCheckedState(); foreach (EnumStripMenuItem <T> item in MenuItems) { if (value.ToString() == item.Tag.ToString()) { item.Checked = true; CheckedMenuItem = item; break; } } }
public EnumStripMenu(ToolStripMenuItem parentMenuItem, ClickedHandler clickedHandler) { this.parentMenuItem = parentMenuItem ?? throw new ArgumentNullException("parentMenuItem"); this.parentMenuItem.Checked = false; this.parentMenuItem.Enabled = true; this.clickedHandler = clickedHandler; foreach (T enumValue in Enum.GetValues(typeof(T))) { //if (item == 0) continue; EnumStripMenuItem <T> menuItem = new EnumStripMenuItem <T>(enumValue, new System.EventHandler(OnClick)); MenuItems.Insert(0, menuItem); } }