using System; using System.Windows.Forms; using System.Windows.Forms.Design; namespace CodeImp.DoomBuilder.Controls { [ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.ToolStrip)] public class ToolStripCheckBox : ToolStripControlHost { public event EventHandler CheckedChanged; public bool Checked { get { return cb.Checked; } set { cb.Checked = value; } } new public string Text { get { return cb.Text; } set { cb.Text = value; } } private CheckBox cb; public ToolStripCheckBox() : base(new CheckBox()) { } protected override void OnSubscribeControlEvents(Control control) { base.OnSubscribeControlEvents(control); cb = control as CheckBox; cb.CheckedChanged += OnCheckedChanged; } protected override void OnUnsubscribeControlEvents(Control control) { base.OnUnsubscribeControlEvents(control); cb.CheckedChanged -= OnCheckedChanged; } private void OnCheckedChanged(object sender, EventArgs e) { if(CheckedChanged != null) CheckedChanged(this, e); } } }