我试图轻松地创建自定义复选框。我想通过检查状态在每个复选框的顶部绘制图像。我如何创建单个事件处理程序全部复选框?我有很多的复选框,我不想为它编写每个事件处理程序:所有复选框的单个事件处理程序
private void checkbox1_Paint(object sender, PaintEventArgs e)
{
Rectangle rect = new Rectangle(0, 0, 16, 16);
if (checkbox1.Checked)
{
e.Graphics.DrawImage(Properties.Resources.checkbox_checked, rect);
}
else
{
e.Graphics.DrawImage(Properties.Resources.checkbox_unchecked, rect);
}
}
private void checkbox2_Paint(object sender, PaintEventArgs e)
{
Rectangle rect = new Rectangle(0, 0, 16, 16);
if (checkbox2.Checked)
{
e.Graphics.DrawImage(Properties.Resources.checkbox_checked, rect);
}
else
{
e.Graphics.DrawImage(Properties.Resources.checkbox_unchecked, rect);
}
}
// etc...
如果这是WPF,你可以在父母的勾选或者处理处理这个问题,使用事件冒泡机制。 – David
@大卫的任何例子? –
参考这本书:WPF释放,P161 – David