年度变更建库软件5.0版本
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.

148 lines
4.6 KiB

6 months ago
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);
}
}
}