private void FormXGIS_MouseUp(object sender, MouseEventArgs e) { //没有打开任何图层 if (layer == null) { return; } //未发生变化 if (e.Location.X == MouseDownLocation.X && e.Location.Y == MouseDownLocation.Y) { if (MouseSelect) { layer.SelectByClick(e.Location, view); UpdateMap(); } } else { XVertex v1 = view.ToMapVertex(MouseDownLocation); XVertex v2 = view.ToMapVertex(e.Location); //如果是拉框放大 if (MouseSelect) { XExtent extent = new XExtent(v1, v2); //if (Control.ModifierKeys == Keys.Control) //{ // layer.PlusSelectByExtent(extent); //} //else //{ // layer.SelectByExtent(extent, Control.ModifierKeys == Keys.Shift, // Control.ModifierKeys == Keys.Control); //} if ((Control.ModifierKeys & Keys.Shift) == Keys.Shift && (Control.ModifierKeys & Keys.Control) == Keys.Control) { layer.SelectByExtent(extent, true, true); } else { layer.SelectByExtent(extent, Control.ModifierKeys == Keys.Shift, Control.ModifierKeys == Keys.Control); } } else if (MouseZoomIn) { XExtent extent = new XExtent(v1, v2); view.UpdateExtent(extent); } else if (MousePan) { view.OffsetCenter(v1, v2); } UpdateMap(); } MouseSelect = MouseZoomIn = MousePan = false; }
private void FormXGIS_MouseUp(object sender, MouseEventArgs e) { //没有打开任何图层 if (layer == null) { return; } //未发生变化 if (e.Location.X == MouseDownLocation.X && e.Location.Y == MouseDownLocation.Y) { if (MouseSelect) { layer.SelectByClick(e.Location, view); UpdateMap(); } } XVertex v1 = view.ToMapVertex(MouseDownLocation); XVertex v2 = view.ToMapVertex(e.Location); if (MouseSelect) { XExtent extent = new XExtent(v1, v2); layer.SelectByExtent(extent); UpdateMap(); } else if (MouseSelect) { XExtent extent = new XExtent(v1, v2); layer.SelectByInterExtent(extent); UpdateMap(); } //如果是拉框放大 else if (MouseZoomIn) { MouseZoomIn = false; XExtent extent = new XExtent(v1, v2); view.UpdateExtent(extent); UpdateMap(); } else if (MousePan) { MousePan = false; view.OffsetCenter(v1, v2); UpdateMap(); } MouseSelect = MouseZoomIn = MousePan = MouseInterSelect = false; //没有打开任何图层 //if (layer == null) return; ////未发生变化 //if (e.Location.X == MouseDownLocation.X && e.Location.Y == MouseDownLocation.Y) //{ // if (MouseSelect) // { // //layer.selectByClick(e.Location, view); // UpdateMap(); // } //} //else//框选 //{ // XVertex v1 = view.ToMapVertex(MouseDownLocation); // XVertex v2 = view.ToMapVertex(e.Location); // if (MouseSelect) // { // XExtent extent = new XExtent(v1, v2); // layer.SelectByExtent(extent); // } // else if (MouseZoomIn) // { // XExtent extent = new XExtent(v1, v2); // view.UpdateExtent(extent); // } // else if (MousePan)//如果是平移地图 // { // view.OffsetCenter(v1, v2); // } // else if (MouseInterSelect) // { // XExtent extent = new XExtent(v1, v2); // layer.SelectByInterExtent(extent); // } // UpdateMap(); //} //MouseSelect = MousePan = MouseZoomIn = MouseInterSelect = false; }