Example #1
0
        private void axSceneControl1_OnMouseDown(object sender, ISceneControlEvents_OnMouseDownEvent e)
        {
            ICommand cmd = new ControlsSceneNavigateToolClass();

            cmd.OnCreate(axSceneControl1.Object);
            cmd.OnClick();
            axSceneControl1.CurrentTool = cmd as ITool;
        }
 private void axSceneControl1_OnMouseDown(object sender, ISceneControlEvents_OnMouseDownEvent e)
 {
     if (e.button == 2)
     {
         System.Drawing.Point p = new System.Drawing.Point();
         p.X = e.x;
         p.Y = e.y;
         contextMenuStrip1.Show(axSceneControl1, p);
     }
 }
Example #3
0
 private void mSceneControl_OnMouseDown(object sender, ISceneControlEvents_OnMouseDownEvent e)
 {
     if (mPointSearch.Checked)//check按钮处于打勾状态
     {
         //查询
         mSceneControl.SceneGraph.LocateMultiple(mSceneControl.SceneGraph.ActiveViewer,
                                                 e.x, e.y, esriScenePickMode.esriScenePickAll, false, out mHit3DSet);
         mHit3DSet.OnePerLayer();
         if (mHit3DSet == null)//没有选中对象
         {
             MessageBox.Show("没有选中对象");
         }
         else
         {
             //显示在ResultForm控件中。
             mResultForm.Show();
             mResultForm.refeshView(mHit3DSet);
         }
         mSceneControl.Refresh();
     }
 }
Example #4
0
        private void axSceneControl1_OnMouseDown_1(object sender, ISceneControlEvents_OnMouseDownEvent e)
        {
            if (j == 2)
            {
                this.axSceneControl1.Scene.ClearSelection();//清除之前的选择集,去除高亮显示
                IHit3DSet pHit3DSet = null;
                this.axSceneControl1.SceneGraph.LocateMultiple(this.axSceneControl1.SceneViewer, e.x, e.y, esriScenePickMode.esriScenePickAll, false, out pHit3DSet);
                pHit3DSet.OnePerLayer();
                if (pHit3DSet.Hits.Count == 0)
                {
                    MessageBox.Show("没有选中任何要素!");
                    return;
                }
                IHit3D pHit3D = pHit3DSet.Hits.get_Element(0) as IHit3D;
                IFeature pFeature = pHit3D.Object as IFeature;//pHit3D.Owner其实是一个ILayer类型,pHit3D.Object是一个IFeature类型
                IFields pFields = pFeature.Fields;
                StringBuilder Info = new StringBuilder();
                for (int i = 3; i < pFields.FieldCount; i++)
                {
                    IField pField = pFields.get_Field(i);
                    if (pField.Type != esriFieldType.esriFieldTypeGeometry)
                    {
                        Info.Append(pField.Name + ":" + pFeature.get_Value(pFields.FindField(pField.Name)) + "\n");
                    }
                }
                MessageBox.Show(Info.ToString());
                IDisplay3D pDisplay3D = this.axSceneControl1.SceneGraph as IDisplay3D;
                //    pDisplay3D.FlashGeometry(pHit3D.Owner, pHit3D.Object );//闪烁一次,pHit3D.Owner是一个ILayer类型,pHit3D.Object是一个IFeature类型
                // pDisplay3D.AddFlashFeature(pFeature.Shape);//保持高亮
                this.axSceneControl1.Scene.SelectFeature(pHit3D.Owner as ILayer, pFeature);//加入选择集,并自动高亮
                axSceneControl1.SceneGraph.RefreshViewers();
            }
            if (j == 4)
            {
                this.axSceneControl1.Scene.ClearSelection();//清除之前的选择集,去除高亮显示
                IHit3DSet pHit3DSet = null;
                this.axSceneControl1.SceneGraph.LocateMultiple(this.axSceneControl1.SceneViewer, e.x, e.y, esriScenePickMode.esriScenePickAll, false, out pHit3DSet);
                pHit3DSet.OnePerLayer();
                if (pHit3DSet.Hits.Count == 0)
                {
                    MessageBox.Show("没有选中任何要素!");
                    return;
                }
                IHit3D pHit3D = pHit3DSet.Hits.get_Element(0) as IHit3D;
                IFeature pFeature = pHit3D.Object as IFeature;//pHit3D.Owner其实是一个ILayer类型,pHit3D.Object是一个IFeature类型
                IFields pFields = pFeature.Fields;
                StringBuilder Info = new StringBuilder();
                IDisplay3D pDisplay3D = this.axSceneControl1.SceneGraph as IDisplay3D;

                this.axSceneControl1.Scene.SelectFeature(pHit3D.Owner as ILayer, pFeature);//加入选择集,并自动高亮
                IField pField = pFields.get_Field(2);
                if ("5555" == "" + pFeature.get_Value(pFields.FindField(pField.Name)))
                {
                    pField = pFields.get_Field(4);
                    str = "" + pFeature.get_Value(pFields.FindField(pField.Name));
                    Form2 a = new Form2(str);
                    a.Text = "" + str;
                    a.Show();
                }
                axSceneControl1.SceneGraph.RefreshViewers();
            }
        }