コード例 #1
0
        private void advTree_NodeClick(object sender, DevComponents.AdvTree.TreeNodeMouseEventArgs e)
        {
            try
            {
                IFeature pfeature = advTree.SelectedNode.Tag as IFeature;
                if (pfeature != null)
                {
                    m_dataSourceGrid.Clear();

                    for (int i = 0; i < pfeature.Fields.FieldCount; i++)
                    {
                        if (pfeature.Fields.get_Field(i).Type == esriFieldType.esriFieldTypeGeometry)
                        {
                            string strGeometryType = "";
                            if (pfeature.FeatureType == esriFeatureType.esriFTSimple)
                            {
                                switch (pfeature.Shape.GeometryType)
                                {
                                case esriGeometryType.esriGeometryPoint:
                                    strGeometryType = "点";
                                    break;

                                case esriGeometryType.esriGeometryPolyline:
                                    strGeometryType = "线";
                                    break;

                                case esriGeometryType.esriGeometryPolygon:
                                    strGeometryType = "多边形";
                                    break;
                                }
                            }
                            else if (pfeature.FeatureType == esriFeatureType.esriFTAnnotation)
                            {
                                strGeometryType = "注记";
                            }
                            if (string.IsNullOrEmpty(strGeometryType))
                            {
                                strGeometryType = pfeature.Shape.GeometryType.ToString();
                            }
                            m_dataSourceGrid.Rows.Add(new object[] { pfeature.Fields.get_Field(i).AliasName, strGeometryType });
                        }
                        else
                        {
                            m_dataSourceGrid.Rows.Add(new object[] { pfeature.Fields.get_Field(i).AliasName, pfeature.get_Value(i) });
                        }
                    }

                    ModDBOperator.FlashFeature(pfeature, m_pMapControl);
                }
            }
            catch
            {
            }
        }
コード例 #2
0
 private void advTree_NodeDoubleClick(object sender, DevComponents.AdvTree.TreeNodeMouseEventArgs e)
 {
     try
     {
         IFeature pfeature = advTree.SelectedNode.Tag as IFeature;
         if (pfeature != null)
         {
             SysCommon.Gis.ModGisPub.ZoomToFeature(m_pMapControl, pfeature);
             Application.DoEvents();
             ModDBOperator.FlashFeature(pfeature, m_pMapControl);
             //m_pMapControl.FlashShape(pfeature.Shape, 2, 500, null);
         }
     }
     catch
     {
     }
 }
コード例 #3
0
        //默认选择第一个要素节点  并进行闪烁
        private void DefaultSelNde()
        {
            Application.DoEvents();

            for (int i = 0; i < this.advTree.Nodes.Count; i++)
            {
                if (!this.advTree.Nodes[i].HasChildNodes)
                {
                    continue;
                }

                IFeature pFea = this.advTree.Nodes[i].Nodes[0].Tag as IFeature;
                if (pFea != null)
                {
                    this.advTree.Nodes[i].IsSelectionVisible = true;
                    ModDBOperator.FlashFeature(pFea.Shape, m_pMapControl.ActiveView, 100);
                    break;
                }
            }
        }