private void axMapControl1_OnDoubleClick(object sender, IMapControlEvents2_OnDoubleClickEvent e) { DataTable dt = new DataTable(); dt.Columns.Add("name", typeof(string)); dt.Columns.Add("value", typeof(string)); DataRow dr = dt.NewRow(); dr["name"] = "行政区"; dr["value"] = "沈阳"; dt.Rows.Add(dr); DataRow dr2 = dt.NewRow(); dr2["name"] = "面积"; dr2["value"] = "1234.345"; dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow(); dr3["name"] = "交通轨道长度"; dr3["value"] = "1235.223"; dt.Rows.Add(dr3); DataRow dr4 = dt.NewRow(); dr4["name"] = "GDP总量"; dr4["value"] = "234345"; dt.Rows.Add(dr4); Control control = (Control)sender; System.Drawing.Point pt = control.PointToScreen(new System.Drawing.Point(e.x, e.y)); frmMapFeatureAttr pFrmMapFeatureAttr = new frmMapFeatureAttr(); pFrmMapFeatureAttr.AttrDataTable = dt; pFrmMapFeatureAttr.Location = pt; pFrmMapFeatureAttr.Show(); }
/// <summary> /// 双击鼠标 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void axMapControl1_OnDoubleClick(object sender, IMapControlEvents2_OnDoubleClickEvent e) { if (this.pDisplayFeedback != null) { IGeometry pGeometry = null; if (this.btnNewPolyline.Checked)//新建多义线 { pGeometry = ((INewLineFeedback)this.pDisplayFeedback).Stop(); } else if (this.btnNewPolygon.Checked)//新建多边形 { pGeometry = ((INewPolygonFeedback)this.pDisplayFeedback).Stop(); } else if (this.btnNewBezierCurve.Checked)//新建Bezier曲线 { pGeometry = ((INewBezierCurveFeedback)this.pDisplayFeedback).Stop(); } this.pDisplayFeedback = null; this.AddElement(pGeometry); } }
//private void axMapControl1_OnMouseMove(object sender, IMapControlEvents2_OnMouseMoveEvent e) //{ // IPoint ipNew = axMapControl1.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(e.x, e.y); // this.ribbonBar1.Text = "当前在地图上的坐标为 X:" + Convert.ToString(e.x) + " Y:" + Convert.ToString(e.y); //} private void axMapControl1_OnDoubleClick(object sender, IMapControlEvents2_OnDoubleClickEvent e) { if (areaprocess.Checked) { IGraphicsContainer pgraghicscontainer = axMapControl1.Map as IGraphicsContainer; IActiveView pactiveview = pgraghicscontainer as ESRI.ArcGIS.Carto.IActiveView; IPoint ipNew; if (ippoints == null) ippoints = new MultipointClass(); ipNew = axMapControl1.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(e.x, e.y); object o = Type.Missing; ippoints.AddPoint(ipNew, ref o, ref o); createpolygon(ippoints); if (ipPolyResult != null) { drawpolygon(ipPolyResult); } drawpoints(ippoints); } }
private void axMapControl_OnDoubleClick(object sender, IMapControlEvents2_OnDoubleClickEvent e) { try { if (_App.CurrentTool != null) { _Tool = _ToolCol[_App.CurrentTool]; _Tool.OnDblClick(); } } catch (System.Exception ex) { return; } }
private void axMapControl_OnDoubleClick(object sender, IMapControlEvents2_OnDoubleClickEvent e) { if (_App.CurrentTool != null) { _Tool = _ToolCol[_App.CurrentTool]; _Tool.OnDblClick(); } }
private void axMapControl1_OnDoubleClick(object sender, IMapControlEvents2_OnDoubleClickEvent e) { switch (mTool) { case "Network": try { //路径计算 //注意权重名称与设置保持一致 SolvePath("LENGTH"); //路径转换为几何要素 IPolyline pPolyLineResult = PathToPolyLine(); //获取屏幕显示 IActiveView pActiveView = this.axMapControl1.ActiveView; IScreenDisplay pScreenDisplay = pActiveView.ScreenDisplay; //设置显示符号 ILineSymbol pLineSymbol = new CartographicLineSymbolClass(); IRgbColor pColor = new RgbColorClass(); pColor.Red = 255; pColor.Green = 0; pColor.Blue = 0; //设置线宽 pLineSymbol.Width = 4; //设置颜色 pLineSymbol.Color = pColor as IColor; //绘制线型符号 pScreenDisplay.StartDrawing(0, 0); pScreenDisplay.SetSymbol((ISymbol)pLineSymbol); pScreenDisplay.DrawPolyline(pPolyLineResult); pScreenDisplay.FinishDrawing(); } catch (System.Exception ex) { MessageBox.Show("路径分析出现错误:" + "\r\n" + ex.Message); } //点集设为空 mPointCollection = null; break; case "Edit": //判断是否鼠标左键 if (e.button != 1) { return; } ////判断是否处于编辑状态 if (mEdit != null && mEdit.IsEditing()) { switch (cboTasks.SelectedIndex) { case 0: mEdit.CreateDoubleClick(e.mapX, e.mapY); break; case 1: break; } } break; default: break; } }
//======================================================================= /* private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) { switch (select()) { case "2015年7月25日采集坐标点": axMapControl1.ClearLayers(); axMapControl1.AddShapeFile(@"G:\数据库\实验数据", "2015年7月25日采集坐标点"); break; case "2015年7月26日采集坐标点": axMapControl1.ClearLayers(); axMapControl1.AddShapeFile(@"G:\数据库\实验数据", "2015年7月26日采集坐标点"); break; case "2015年7月27日采集坐标点": axMapControl1.ClearLayers(); axMapControl1.AddShapeFile(@"G:\数据库\实验数据", "2015年7月27日采集坐标点"); break; case "矿区1": axMapControl1.ClearLayers(); axMapControl1.AddShapeFile(@"G:\数据库\实验数据", "矿区1"); break; case "矿区2": axMapControl1.ClearLayers(); axMapControl1.AddShapeFile(@"G:\数据库\实验数据", "矿区2"); break; case "矿区3": axMapControl1.ClearLayers(); axMapControl1.AddShapeFile(@"G:\数据库\实验数据", "矿区3"); break; case "矿区4": axMapControl1.ClearLayers(); axMapControl1.AddShapeFile(@"G:\数据库\实验数据", "矿区4"); break; case "模拟矿区坐标点": axMapControl1.ClearLayers(); axMapControl1.AddShapeFile(@"G:\数据库\实验数据", "模拟矿区坐标点"); break; case "坐标点": axMapControl1.ClearLayers(); axMapControl1.AddShapeFile(@"G:\数据库\实验数据", "坐标点"); break; default: break; } } private string select() { int selectedHandle; selectedHandle = this.gridView1.GetSelectedRows()[0]; return this.gridView1.GetRowCellValue(selectedHandle, "矿区坐标文件").ToString(); }*/ private void axMapControl1_OnDoubleClick(object sender, IMapControlEvents2_OnDoubleClickEvent e) { if (attribute) { attribute = false; } }
private void axMapControl1_OnDoubleClick(object sender, IMapControlEvents2_OnDoubleClickEvent e) //图形画完后会双击 { button1_Click(button1, new EventArgs()); }
/// <summary> /// 双击结束编辑 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void mapControl_OnDoubleClick(object sender, IMapControlEvents2_OnDoubleClickEvent e) { ReleaseCommond(); endEdit(); RegistCommondExcutedEvent(); }
private void axMapControlMainMap_OnDoubleClick(object sender, IMapControlEvents2_OnDoubleClickEvent e)//双击省图的选中要素追溯其包括的县级图斑,或者双击县级数据库中的图斑,追溯其对应的省级图斑 { //if (axMapControlMainMap.LayerCount == 0) return; }