private void ContextMenu_Popup(object sender, EventArgs e) { AbType cbType = cbAbility == null ? AbType.None : cbAbility.IsArithmetick ? AbType.Arithmetick : cbAbility.IsCharging ? AbType.Charging : cbAbility.IsItem ? AbType.Item : cbAbility.IsJumping ? AbType.Jumping : cbAbility.IsNormal ? AbType.Normal : cbAbility.IsOther ? AbType.Other : AbType.Throwing; bool typesMatch = TypesMatch(); abilitiesListBox.ContextMenu.MenuItems[pasteCommonIndex].Enabled = cbType != AbType.None; abilitiesListBox.ContextMenu.MenuItems[pasteAllIndex].Enabled = typesMatch; abilitiesListBox.ContextMenu.MenuItems[pasteSpecificIndex].Enabled = typesMatch; abilitiesListBox.ContextMenu.MenuItems[pasteSpecificIndex].Text = string.Format("Paste {0}", cbType); }
private bool TypesMatch() { Ability destinationAbility = abilitiesListBox.SelectedItem as Ability; AbType cbType = cbAbility == null ? AbType.None : cbAbility.IsArithmetick ? AbType.Arithmetick : cbAbility.IsCharging ? AbType.Charging : cbAbility.IsItem ? AbType.Item : cbAbility.IsJumping ? AbType.Jumping : cbAbility.IsNormal ? AbType.Normal : cbAbility.IsOther ? AbType.Other : AbType.Throwing; AbType destType = destinationAbility == null ? AbType.None : destinationAbility.IsArithmetick ? AbType.Arithmetick : destinationAbility.IsCharging ? AbType.Charging : destinationAbility.IsItem ? AbType.Item : destinationAbility.IsJumping ? AbType.Jumping : destinationAbility.IsNormal ? AbType.Normal : destinationAbility.IsOther ? AbType.Other : AbType.Throwing; return(cbType != AbType.None && destType != AbType.None && cbType == destType); }