You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
147 lines
4.6 KiB
147 lines
4.6 KiB
using System; |
|
using System.Collections.Generic; |
|
using System.ComponentModel; |
|
using System.Drawing; |
|
using System.Data; |
|
using System.Linq; |
|
using System.Text; |
|
using System.Threading.Tasks; |
|
using System.Windows.Forms; |
|
using ESRI.ArcGIS.Geometry; |
|
|
|
namespace KGIS.Plugin.LayerProperty.View.UC_Controls |
|
{ |
|
public partial class UCExtentSet : UserControl |
|
{ |
|
private double left; |
|
private double bottom; |
|
private double right; |
|
private double top; |
|
public new double Left |
|
{ |
|
get |
|
{ |
|
return this.left; |
|
} |
|
set |
|
{ |
|
this.left = value; |
|
} |
|
} |
|
public new double Bottom |
|
{ |
|
get |
|
{ |
|
return this.bottom; |
|
} |
|
set |
|
{ |
|
this.bottom = value; |
|
} |
|
} |
|
public new double Right |
|
{ |
|
get |
|
{ |
|
return this.right; |
|
} |
|
set |
|
{ |
|
this.right = value; |
|
} |
|
} |
|
public new double Top |
|
{ |
|
get |
|
{ |
|
return this.top; |
|
} |
|
set |
|
{ |
|
this.top = value; |
|
} |
|
} |
|
public UCExtentSet() |
|
{ |
|
InitializeComponent(); |
|
} |
|
public void SetEnvelope(IEnvelope envelope, bool readOnly) |
|
{ |
|
try |
|
{ |
|
try |
|
{ |
|
this.txtBottom.Text = ""; |
|
this.txtLeft.Text = ""; |
|
this.txtRight.Text = ""; |
|
this.txtTop.Text = ""; |
|
} |
|
catch |
|
{ |
|
} |
|
this.txtBottom.Properties.ReadOnly = readOnly; |
|
this.txtLeft.Properties.ReadOnly = readOnly; |
|
this.txtRight.Properties.ReadOnly = readOnly; |
|
this.txtTop.Properties.ReadOnly = readOnly; |
|
if (envelope != null) |
|
{ |
|
this.txtBottom.Text = envelope.YMin.ToString(); |
|
this.txtLeft.Text = envelope.XMin.ToString(); |
|
this.txtRight.Text = envelope.XMax.ToString(); |
|
this.txtTop.Text = envelope.YMax.ToString(); |
|
ISpatialReference spatialReference = envelope.SpatialReference; |
|
this.SetUnit(spatialReference); |
|
} |
|
} |
|
catch |
|
{ |
|
} |
|
} |
|
private void SetUnit(ISpatialReference spatialReference) |
|
{ |
|
if (spatialReference is IGeographicCoordinateSystem) |
|
{ |
|
IGeographicCoordinateSystem geographicCoordinateSystem = spatialReference as IGeographicCoordinateSystem; |
|
IAngularUnit coordinateUnit = geographicCoordinateSystem.CoordinateUnit; |
|
string text = (coordinateUnit != null) ? coordinateUnit.Name : "未知"; |
|
this.lblUnit1.Text = text; |
|
this.lblUnit2.Text = text; |
|
this.lblUnit3.Text = text; |
|
this.lblUnit4.Text = text; |
|
return; |
|
} |
|
if (spatialReference is IProjectedCoordinateSystem) |
|
{ |
|
IProjectedCoordinateSystem projectedCoordinateSystem = spatialReference as IProjectedCoordinateSystem; |
|
ILinearUnit coordinateUnit2 = projectedCoordinateSystem.CoordinateUnit; |
|
string text2 = (coordinateUnit2 != null) ? coordinateUnit2.Name : "未知"; |
|
this.lblUnit1.Text = text2; |
|
this.lblUnit2.Text = text2; |
|
this.lblUnit3.Text = text2; |
|
this.lblUnit4.Text = text2; |
|
return; |
|
} |
|
string text3 = "未知"; |
|
this.lblUnit1.Text = text3; |
|
this.lblUnit2.Text = text3; |
|
this.lblUnit3.Text = text3; |
|
this.lblUnit4.Text = text3; |
|
} |
|
private void txtTop_EditValueChanged(object sender, System.EventArgs e) |
|
{ |
|
this.top = Convert.ToDouble(this.txtTop.Text); |
|
} |
|
private void txtRight_EditValueChanged(object sender, System.EventArgs e) |
|
{ |
|
this.right = Convert.ToDouble(this.txtRight.Text); |
|
} |
|
private void txtLeft_EditValueChanged(object sender, System.EventArgs e) |
|
{ |
|
this.left = Convert.ToDouble(this.txtLeft.Text); |
|
} |
|
private void txtBottom_EditValueChanged(object sender, System.EventArgs e) |
|
{ |
|
this.bottom = Convert.ToDouble(this.txtBottom.Text); |
|
} |
|
} |
|
}
|
|
|