У меня есть альтернатива для изменения обычного измененного флажка измененного события на событие, которое напрямую предоставляет вам измененное значение Checked
.
Вы можете, например, использовать его следующим образом:
var myForm = new MyForm();
myForm.CheckBoxChanged += v =>
{
Console.WriteLine("The value of the checkbox changed to {0}", v);
};
Вот определение класса:
public class MyForm
{
public event Action<bool> CheckBoxChanged;
private CheckBox testchbox = new CheckBox();
private void Form1_Load(object sender, EventArgs e)
{
testchbox.CheckedChanged += (s, e) =>
{
var cbc = this.CheckBoxChanged;
if (cbc != null)
{
cbc(testchbox.Checked);
}
};
}
}
Надеюсь, это поможет.