//确定 private void simpleButton3_Click(object sender, EventArgs e) { try { TopoOperation topoOperation = new TopoOperation(); ITopology2 pTopology = topoOperation.CreateToplolgy(GlobalTopoVaribate.GTopoName, GlobalTopoVaribate.GFeatureDS, GlobalTopoVaribate.GTopoFeatureClassList, GlobalTopoVaribate.GRuleDT); if (pTopology != null) { MessageBox.Show("拓扑创建成功!"); } GlobalTopoVaribate.ClearAllVaribate(); this.Close(); } catch (COMException COMEx) { return; } }
//选择要素1时,判断要素1的类型,进而确定拓扑规则 private void comboBoxEdit1_SelectedIndexChanged(object sender, EventArgs e) { //根据要素类型不同返回的规则的列表 List <TopoOperation.TopoRules> TopoRules = new List <TopoOperation.TopoRules>(); foreach (IFeatureClass pFeatureClass in GlobalTopoVaribate.GTopoFeatureClassList) { if (comboBoxEdit1.Text == pFeatureClass.AliasName) { pFeatureClass1 = pFeatureClass; break; } } switch (pFeatureClass1.ShapeType) { case esriGeometryType.esriGeometryPoint: TopoRules = TopoOperation.getPointRules(); break; case esriGeometryType.esriGeometryPolyline: TopoRules = TopoOperation.getLineRules(); break; case esriGeometryType.esriGeometryPolygon: TopoRules = TopoOperation.getPolygonRules(); break; default: break; } comboBoxEdit3.Properties.Items.Clear(); //将拓扑规则加到下拉框 foreach (TopoOperation.TopoRules inTopoRules in TopoRules) { comboBoxEdit3.Properties.Items.Add(inTopoRules.ToString()); } }