ZoneBuilder/Source/Core/Controls/ToolStripCheckBox.cs

36 lines
1 KiB
C#

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);
}
}
}