0

我正在使用PropertyGrid.SelectedObjects(Winform 控件)属性来显示多个对象的属性。我为每个对象的每个属性都有自定义描述符,它执行基本验证并执行业务逻辑。

我只想在所有验证完成后才执行一次业务逻辑。我们该怎么做?

编辑

PropertyGrid 控件在设置值时自动使用 MergedPropertyDescriptor,它在循环中调用我的自定义描述符的 SetValue 函数,从而导致多个业务逻辑调用。我想在不使用任何静态变量的情况下避免这种情况

Edit2 这个问题也发布在微软论坛

4

1 回答 1

0

最简单的:

myForm.submit = function() {
  if (checkValidation()) {
    // business logic;
    if (OK) return true;
  }
  return false;
};

我个人更喜欢简单地使用 submit 方法作为包装器(内部 if 语句 [when true] 将调用另一个返回 true 或 false 的 [business logic] 函数)。

于 2013-10-04T07:50:12.113 回答