private void PropertyGrid_ObjectPropertyValueChanged(object sender, ObjectPropertyValueChangedEventArgs e)
        {
            #region 封装可撤销的工作单元

            if (ActiveHosting.Loaded)
            {
                SEUndoUnitFormDesigner undoUnit = new SEUndoUnitFormDesigner(e.PropertyName);
                undoUnit.Type   = SEUndoUnitFormDesigner.UndoUnitType.ComponentChanged;
                undoUnit.Entity = (EntityBase)e.RootObject;
                undoUnit.Value  = e.TargetObject;
                undoUnit.Members.Add(e.Row.PropertyName, e.OldValue, e.NewValue);
                ActiveHosting.AddUndoUnitList(undoUnit);

                Debug.WriteLine("封装可撤销的工作单元:" + undoUnit.ToString());
            }

            #endregion
        }
        private void PropertyGrid_PropertyChanged(object sender, PropertyChangeEventArgs e)
        {
            //如果是在设计中拖动操作组件的,此处直接返回
            //无需UpdateView,也不能在这里封装撤销单元,因为在这种情况下这里拿不到旧值
            if (ActiveHosting.ComponentChanging)
            {
                return;
            }

            _propertyChanging = true;

            #region 提交可撤销的工作单元集合

            //提交可撤销的工作单元集合(如果需要),提交之后清空临时可撤销工作单元集合
            ActiveHosting.CommitUndoUnitList();

            #endregion

            #region 更新当前设计器中选定的对象

            //TODO:这部分代码可考虑整个移到FormDesignSurfaceHosting
            ICollection selectedComponents = ActiveHosting.SelectionService.GetSelectedComponents();

            //释放时会走到这里 ,control为null
            if (selectedComponents == null)
            {
                return;
            }

            IComponent[] selArray = new IComponent[selectedComponents.Count];
            selectedComponents.CopyTo(selArray, 0);

            ActiveHosting.UpdateView(selArray);

            #endregion

            _propertyChanging = false;

            ActiveHosting.MakeDirty();
        }