public PropertyValueManager(InstanceElement parentT)
 {
     parentInstance = parentT;
     propertiesManager = ((InstancesManager)parentInstance.parent).parent.propertiesManager;
 }
        //合并
        public void combine(InstancesManager srcInstancesManager)
        {
            if (srcInstancesManager == null)
            {
                return;
            }
            for (int i = 0; i < srcInstancesManager.getElementCount(); i++)
            {
                InstanceElement srcInstanceElement = (InstanceElement)srcInstancesManager.getElement(i);
                bool findSame = false;
                //寻找相同
                for (int j = 0; j < getElementCount(); j++)
                {
                    InstanceElement tempInstanceElement = (InstanceElement)getElement(j);
                    if (tempInstanceElement.equalsInstanceElement(srcInstanceElement))
                    {
                        findSame = true;
                        break;
                    }
                }
                if (findSame)//保留原实例
                {
                    continue;
                }
                else//添加新的实例
                {
                    InstanceElement newInstanceElement = new InstanceElement(this);
                    newInstanceElement.propertyValueManager.refreshProperty();
                    newInstanceElement.setName(srcInstanceElement.name);
                    addElement(newInstanceElement);
                }
            }

        }
 public override ObjectElement clone()
 {
     InstanceElement newInstance = new InstanceElement((InstancesManager)parent);
     baseCloneTo(newInstance);
     propertyValueManager.cloneTo(newInstance.propertyValueManager);
     return newInstance;
 }
 //判断相同
 public bool equalsInstanceElement(InstanceElement destInstanceElement)
 {
     if (destInstanceElement == null)
     {
         return false;
     }
     if (!destInstanceElement.name.Equals(name))
     {
         return false;
     }
     return true;
 }
 public void readObjectInit(System.IO.Stream s)
 {
     short len = 0;
     len = IOUtil.readShort(s);
     for (int i = 0; i < len; i++)
     {
         InstanceElement element = new InstanceElement(this);
         addElement(element);
     }
 }
 //增加单元
 private void addElement_ObjDefine()
 {
     if (listBox_Obj_Define.Focused)//增加对象类型单元
     {
         PropertyTypeElement element = new PropertyTypeElement(propertyTypesManager);
         element.setName(SmallDialog_WordEdit.getNewName("新对象类型单元", element.name));
         propertyTypesManager.insertElement(element, listBox_Obj_Define.SelectedIndex + 1);
     }
     else if (currentObjTypeElement != null)
     {
         if (listBox_ObjProperties.Focused)//增加属性单元
         {
             PropertyElement element = SmallDialog_PropertyDefine.createElement(currentObjTypeElement.propertiesManager);
             if (element != null)
             {
                 int index = listBox_ObjProperties.SelectedIndex+1;
                 currentObjTypeElement.propertiesManager.insertElement(element, index);
                 currentObjTypeElement.instancesManager.inseartProperty(element, index);
             }
         }
         else if (listBox_ObjInstances.Focused)//增加对象实例单元
         {
             InstanceElement element = new InstanceElement(currentObjTypeElement.instancesManager);
             element.propertyValueManager.refreshProperty();
             element.setName(SmallDialog_WordEdit.getNewName("新对象实例单元", element.name));
             currentObjTypeElement.instancesManager.insertElement(element, listBox_ObjInstances.SelectedIndex + 1);
             element.propertyValueManager.refreshUI(listBox_InstanceProperty);
         }
     }
 }
 //重新设置焦点实例单元
 private void resetCurrentInstanceElement()
 {
     if (currentObjTypeElement == null)
     {
         listBox_ObjInstances.Items.Clear();
         listBox_InstanceProperty.Items.Clear();
         return;
     }
     if (listBox_ObjInstances.SelectedIndex < 0)
     {
         currentInstanceElement = null;
     }
     else
     {
         currentInstanceElement = (InstanceElement)currentObjTypeElement.instancesManager.getElement(listBox_ObjInstances.SelectedIndex);
     }
     //显示属性信息
     if (currentInstanceElement != null)
     {
         currentInstanceElement.propertyValueManager.refreshUI(listBox_InstanceProperty);
     }
     else
     {
         listBox_InstanceProperty.Items.Clear();
     }
 }