更好的实践:CheckBox DataBindings vs CheckedChanged事件

Ecy*_*yrb 5 .net c# data-binding winforms

我有一个CheckBox,当选中/取消选中时,将切换Enabled其他一些控件的属性.我确实让我的代码看起来像这样:

checkBox.CheckedChanged += new EventHandler((o, e) => 
{
    control1.Enabled = checkBox.Checked;
    control2.Enabled = checkBox.Checked;
});
Run Code Online (Sandbox Code Playgroud)

但今天我开始玩,DataBindings发现我可以这样做:

control1.DataBindings.Add("Enabled", checkBox, "Checked");
control2.DataBindings.Add("Enabled", checkBox, "Checked");
Run Code Online (Sandbox Code Playgroud)

他们似乎行为相同,但我怀疑一个比另一个更受欢迎.或者也许有人会有一些意想不到的行为可能会让我后来吵架.

有一种方式比另一种更好吗?

Joh*_*nan 2

第一个是在编译时检查的,所以我会选择那个。我假设如果第二个示例中的“Enabled”属性无效,您将收到运行时错误。