About the Feature editing with the control commands Sample
[C#]
EditProperties2.cs
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using ESRI.ArcGIS.Controls; namespace EditPropertiesDialog { public class EditProperties2 : System.Windows.Forms.Form { private System.ComponentModel.Container components = null; public EditProperties2() { InitializeComponent(); } protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.label1 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label(); this.label8 = new System.Windows.Forms.Label(); this.txtOffset = new System.Windows.Forms.TextBox(); this.txtPrecision = new System.Windows.Forms.TextBox(); this.cboType = new System.Windows.Forms.ComboBox(); this.cboUnits = new System.Windows.Forms.ComboBox(); this.txtFactor = new System.Windows.Forms.TextBox(); this.chkSnapTips = new System.Windows.Forms.CheckBox(); this.chkGrid = new System.Windows.Forms.CheckBox(); this.txtTolerance = new System.Windows.Forms.TextBox(); this.SuspendLayout(); // // label1 // this.label1.Location = new System.Drawing.Point(8, 16); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(136, 16); this.label1.TabIndex = 0; this.label1.Text = "Angular Correction Offset:"; // // label2 // this.label2.Location = new System.Drawing.Point(8, 48); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(120, 16); this.label2.TabIndex = 1; this.label2.Text = "Angular Unit Precision:"; // // label3 // this.label3.Location = new System.Drawing.Point(8, 80); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(88, 16); this.label3.TabIndex = 2; this.label3.Text = "Direction Type:"; // // label4 // this.label4.Location = new System.Drawing.Point(8, 112); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(88, 16); this.label4.TabIndex = 3; this.label4.Text = "Direction Units:"; // // label5 // this.label5.Location = new System.Drawing.Point(8, 144); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(144, 16); this.label5.TabIndex = 4; this.label5.Text = "Distance Correction Factor:"; // // label6 // this.label6.Location = new System.Drawing.Point(8, 176); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(88, 16); this.label6.TabIndex = 5; this.label6.Text = "Snap Tips:"; // // label7 // this.label7.Location = new System.Drawing.Point(8, 208); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(136, 16); this.label7.TabIndex = 6; this.label7.Text = "Sticky Move Tolerance:"; // // label8 // this.label8.Location = new System.Drawing.Point(8, 240); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(120, 16); this.label8.TabIndex = 7; this.label8.Text = "Use Ground to Grid:"; // // txtOffset // this.txtOffset.Location = new System.Drawing.Point(152, 16); this.txtOffset.Name = "txtOffset"; this.txtOffset.Size = new System.Drawing.Size(80, 20); this.txtOffset.TabIndex = 8; this.txtOffset.Text = ""; this.txtOffset.TextChanged += new System.EventHandler(this.txtOffset_TextChanged); // // txtPrecision // this.txtPrecision.Location = new System.Drawing.Point(152, 48); this.txtPrecision.Name = "txtPrecision"; this.txtPrecision.Size = new System.Drawing.Size(80, 20); this.txtPrecision.TabIndex = 9; this.txtPrecision.Text = ""; this.txtPrecision.TextChanged += new System.EventHandler(this.txtPrecision_TextChanged); // // cboType // this.cboType.Items.AddRange(new object[] { "North Azimuth", "South Azimuth", "Polar", "Quadrant Bearing"}); this.cboType.Location = new System.Drawing.Point(96, 80); this.cboType.Name = "cboType"; this.cboType.Size = new System.Drawing.Size(136, 21); this.cboType.TabIndex = 10; // // cboUnits // this.cboUnits.Items.AddRange(new object[] { "Radians", "Decimal Degrees", "Degrees Minutes Seconds", "Gradians", "Gons"}); this.cboUnits.Location = new System.Drawing.Point(96, 112); this.cboUnits.Name = "cboUnits"; this.cboUnits.Size = new System.Drawing.Size(136, 21); this.cboUnits.TabIndex = 11; // // txtFactor // this.txtFactor.Location = new System.Drawing.Point(152, 144); this.txtFactor.Name = "txtFactor"; this.txtFactor.Size = new System.Drawing.Size(80, 20); this.txtFactor.TabIndex = 12; this.txtFactor.Text = ""; this.txtFactor.TextChanged += new System.EventHandler(this.txtFactor_TextChanged); // // chkSnapTips // this.chkSnapTips.Location = new System.Drawing.Point(152, 168); this.chkSnapTips.Name = "chkSnapTips"; this.chkSnapTips.Size = new System.Drawing.Size(24, 32); this.chkSnapTips.TabIndex = 13; // // chkGrid // this.chkGrid.Location = new System.Drawing.Point(152, 232); this.chkGrid.Name = "chkGrid"; this.chkGrid.Size = new System.Drawing.Size(24, 32); this.chkGrid.TabIndex = 14; // // txtTolerance // this.txtTolerance.Location = new System.Drawing.Point(152, 208); this.txtTolerance.Name = "txtTolerance"; this.txtTolerance.Size = new System.Drawing.Size(80, 20); this.txtTolerance.TabIndex = 15; this.txtTolerance.Text = ""; this.txtTolerance.TextChanged += new System.EventHandler(this.txtTolerance_TextChanged); // // EditProperties2 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(242, 270); this.Controls.Add(this.txtTolerance); this.Controls.Add(this.chkGrid); this.Controls.Add(this.chkSnapTips); this.Controls.Add(this.txtFactor); this.Controls.Add(this.cboUnits); this.Controls.Add(this.cboType); this.Controls.Add(this.txtPrecision); this.Controls.Add(this.txtOffset); this.Controls.Add(this.label8); this.Controls.Add(this.label7); this.Controls.Add(this.label6); this.Controls.Add(this.label5); this.Controls.Add(this.label4); this.Controls.Add(this.label3); this.Controls.Add(this.label2); this.Controls.Add(this.label1); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "EditProperties2"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "Edit Properties 2"; this.Closing += new System.ComponentModel.CancelEventHandler(this.EditProperties2_Closing); this.Load += new System.EventHandler(this.EditProperties2_Load); this.ResumeLayout(false); } #endregion private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label6; private System.Windows.Forms.Label label7; private System.Windows.Forms.Label label8; private System.Windows.Forms.TextBox txtOffset; private System.Windows.Forms.TextBox txtPrecision; private System.Windows.Forms.ComboBox cboType; private System.Windows.Forms.ComboBox cboUnits; private System.Windows.Forms.TextBox txtFactor; private System.Windows.Forms.CheckBox chkSnapTips; private System.Windows.Forms.CheckBox chkGrid; private System.Windows.Forms.TextBox txtTolerance; private IEngineEditProperties2 m_engineEditProperties2 = new EngineEditorClass(); private void EditProperties2_Load(object sender, System.EventArgs e) { //Populate form with current IEngineProperties2 values txtOffset.Text = m_engineEditProperties2.AngularCorrectionOffset.ToString(); txtPrecision.Text = m_engineEditProperties2.AngularUnitPrecision.ToString(); txtFactor.Text = m_engineEditProperties2.DistanceCorrectionFactor.ToString(); txtTolerance.Text = m_engineEditProperties2.StickyMoveTolerance.ToString(); if (m_engineEditProperties2.SnapTips) chkSnapTips.Checked = true; else chkSnapTips.Checked = false; if (m_engineEditProperties2.UseGroundToGrid) chkGrid.Checked = true; else chkGrid.Checked = false; //Select current direction type esriEngineDirectionType type = m_engineEditProperties2.DirectionType; switch (type.ToString()) { case "esriEngineDTNorthAzimuth": cboType.SelectedItem = "North Azimuth"; break; case "esriEngineDTSouthAzimuth": cboType.SelectedItem = "South Azimuth"; break; case "esriEngineDTPolar": cboType.SelectedItem = "Polar"; break; case "esriEngineDTQuadrantBearing": cboType.SelectedItem = "Quadrant Bearing"; break; default: break; } //Select current direction units esriEngineDirectionUnits units = m_engineEditProperties2.DirectionUnits; switch (units.ToString()) { case "esriEngineDURadians": cboUnits.SelectedItem = "Radians"; break; case "esriEngineDUDecimalDegrees": cboUnits.SelectedItem = "Decimal Degrees"; break; case "esriEngineDUDegreesMinutesSeconds": cboUnits.SelectedItem = "Degrees Minutes Seconds"; break; case "esriEngineDUGradians": cboUnits.SelectedItem = "Gradians"; break; case "esriEngineDUGons": cboUnits.SelectedItem = "Gons"; break; default: break; } } private void EditProperties2_Closing(object sender, System.ComponentModel.CancelEventArgs e) { //Update Offset property if (txtOffset.Text != "") m_engineEditProperties2.AngularCorrectionOffset = Convert.ToInt32(txtOffset.Text); //Update Precision property if (txtPrecision.Text != "") m_engineEditProperties2.AngularUnitPrecision = Convert.ToInt32(txtPrecision.Text); //Update Distance Correction Factor property if (txtFactor.Text != "") m_engineEditProperties2.DistanceCorrectionFactor = Convert.ToInt32(txtFactor.Text); //Update Tolerance property if (txtTolerance.Text != "") m_engineEditProperties2.StickyMoveTolerance = Convert.ToInt32(txtTolerance.Text); //Update Snap Tips property if (chkSnapTips.Checked) m_engineEditProperties2.SnapTips = true; else m_engineEditProperties2.SnapTips = false; //Update Grid property if (chkGrid.Checked) m_engineEditProperties2.UseGroundToGrid = true; else m_engineEditProperties2.UseGroundToGrid = false; //Set Direction Type property string type = cboType.SelectedItem.ToString(); switch (type) { case "North Azimuth": m_engineEditProperties2.DirectionType = esriEngineDirectionType.esriEngineDTNorthAzimuth; break; case "South Azimuth": m_engineEditProperties2.DirectionType = esriEngineDirectionType.esriEngineDTSouthAzimuth; break; case "Polar": m_engineEditProperties2.DirectionType = esriEngineDirectionType.esriEngineDTPolar; break; case "Quadrant Bearing": m_engineEditProperties2.DirectionType = esriEngineDirectionType.esriEngineDTQuadrantBearing; break; default: break; } //Set Direction Units property string units = cboUnits.SelectedItem.ToString(); switch (units) { case "Radians": m_engineEditProperties2.DirectionUnits = esriEngineDirectionUnits.esriEngineDURadians; break; case "Decimal Degrees": m_engineEditProperties2.DirectionUnits = esriEngineDirectionUnits.esriEngineDUDecimalDegrees; break; case "Degrees Minutes Seconds": m_engineEditProperties2.DirectionUnits = esriEngineDirectionUnits.esriEngineDUDegreesMinutesSeconds; break; case "Gradians": m_engineEditProperties2.DirectionUnits = esriEngineDirectionUnits.esriEngineDUGradians; break; case "Gons": m_engineEditProperties2.DirectionUnits = esriEngineDirectionUnits.esriEngineDUGons; break; default: break; } } private void txtOffset_TextChanged(object sender, System.EventArgs e) { //Validate offset try { if (txtOffset.Text != "") Convert.ToInt32(txtOffset.Text); } catch (FormatException) { MessageBox.Show("Correction offset should be a numeric value", "Correction Offset"); txtOffset.Text = ""; txtOffset.Focus(); } } private void txtPrecision_TextChanged(object sender, System.EventArgs e) { //Validate precision try { if (txtPrecision.Text != "") Convert.ToInt32(txtPrecision.Text); } catch (FormatException) { MessageBox.Show("Unit precision should be a numeric value", "Unit Precision"); txtPrecision.Text = ""; txtPrecision.Focus(); } } private void txtFactor_TextChanged(object sender, System.EventArgs e) { //Validate factor try { if (txtFactor.Text != "") Convert.ToInt32(txtFactor.Text); } catch (FormatException) { MessageBox.Show("Distance Correction Factor should be a numeric value", "Distance Correction Factor"); txtFactor.Text = ""; txtFactor.Focus(); } } private void txtTolerance_TextChanged(object sender, System.EventArgs e) { //Validate tolerance try { if (txtTolerance.Text != "") Convert.ToInt32(txtTolerance.Text); } catch (FormatException) { MessageBox.Show("Sticky Move Tolerance should be a numeric value", "Sticky Move Tolerance"); txtTolerance.Text = ""; txtTolerance.Focus(); } } } }
[Visual Basic .NET]
EditProperties2.vb
Imports System.Windows.Forms Imports ESRI.ArcGIS.Controls Public Class EditProperties2 Inherits System.Windows.Forms.Form Private m_engineEditProperties2 As New EngineEditorClass #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents txtTolerance As System.Windows.Forms.TextBox Friend WithEvents chkGrid As System.Windows.Forms.CheckBox Friend WithEvents chkSnapTips As System.Windows.Forms.CheckBox Friend WithEvents txtFactor As System.Windows.Forms.TextBox Friend WithEvents cboUnits As System.Windows.Forms.ComboBox Friend WithEvents cboType As System.Windows.Forms.ComboBox Friend WithEvents txtPrecision As System.Windows.Forms.TextBox Friend WithEvents txtOffset As System.Windows.Forms.TextBox Friend WithEvents label8 As System.Windows.Forms.Label Friend WithEvents label7 As System.Windows.Forms.Label Friend WithEvents label6 As System.Windows.Forms.Label Friend WithEvents label5 As System.Windows.Forms.Label Friend WithEvents label4 As System.Windows.Forms.Label Friend WithEvents label3 As System.Windows.Forms.Label Friend WithEvents label2 As System.Windows.Forms.Label Friend WithEvents label1 As System.Windows.Forms.Label <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.txtTolerance = New System.Windows.Forms.TextBox Me.chkGrid = New System.Windows.Forms.CheckBox Me.chkSnapTips = New System.Windows.Forms.CheckBox Me.txtFactor = New System.Windows.Forms.TextBox Me.cboUnits = New System.Windows.Forms.ComboBox Me.cboType = New System.Windows.Forms.ComboBox Me.txtPrecision = New System.Windows.Forms.TextBox Me.txtOffset = New System.Windows.Forms.TextBox Me.label8 = New System.Windows.Forms.Label Me.label7 = New System.Windows.Forms.Label Me.label6 = New System.Windows.Forms.Label Me.label5 = New System.Windows.Forms.Label Me.label4 = New System.Windows.Forms.Label Me.label3 = New System.Windows.Forms.Label Me.label2 = New System.Windows.Forms.Label Me.label1 = New System.Windows.Forms.Label Me.SuspendLayout() ' 'txtTolerance ' Me.txtTolerance.Location = New System.Drawing.Point(152, 201) Me.txtTolerance.Name = "txtTolerance" Me.txtTolerance.Size = New System.Drawing.Size(80, 20) Me.txtTolerance.TabIndex = 31 Me.txtTolerance.Text = "" ' 'chkGrid ' Me.chkGrid.Location = New System.Drawing.Point(152, 225) Me.chkGrid.Name = "chkGrid" Me.chkGrid.Size = New System.Drawing.Size(24, 32) Me.chkGrid.TabIndex = 30 ' 'chkSnapTips ' Me.chkSnapTips.Location = New System.Drawing.Point(152, 161) Me.chkSnapTips.Name = "chkSnapTips" Me.chkSnapTips.Size = New System.Drawing.Size(24, 32) Me.chkSnapTips.TabIndex = 29 ' 'txtFactor ' Me.txtFactor.Location = New System.Drawing.Point(152, 137) Me.txtFactor.Name = "txtFactor" Me.txtFactor.Size = New System.Drawing.Size(80, 20) Me.txtFactor.TabIndex = 28 Me.txtFactor.Text = "" ' 'cboUnits ' Me.cboUnits.Items.AddRange(New Object() {"Radians", "Decimal Degrees", "Degrees Minutes Seconds", "Gradians", "Gons"}) Me.cboUnits.Location = New System.Drawing.Point(122, 105) Me.cboUnits.Name = "cboUnits" Me.cboUnits.Size = New System.Drawing.Size(136, 21) Me.cboUnits.TabIndex = 27 ' 'cboType ' Me.cboType.Items.AddRange(New Object() {"North Azimuth", "South Azimuth", "Polar", "Quadrant Bearing"}) Me.cboType.Location = New System.Drawing.Point(122, 73) Me.cboType.Name = "cboType" Me.cboType.Size = New System.Drawing.Size(136, 21) Me.cboType.TabIndex = 26 ' 'txtPrecision ' Me.txtPrecision.Location = New System.Drawing.Point(152, 41) Me.txtPrecision.Name = "txtPrecision" Me.txtPrecision.Size = New System.Drawing.Size(80, 20) Me.txtPrecision.TabIndex = 25 Me.txtPrecision.Text = "" ' 'txtOffset ' Me.txtOffset.Location = New System.Drawing.Point(152, 9) Me.txtOffset.Name = "txtOffset" Me.txtOffset.Size = New System.Drawing.Size(80, 20) Me.txtOffset.TabIndex = 24 Me.txtOffset.Text = "" ' 'label8 ' Me.label8.Location = New System.Drawing.Point(8, 233) Me.label8.Name = "label8" Me.label8.Size = New System.Drawing.Size(120, 16) Me.label8.TabIndex = 23 Me.label8.Text = "Use Ground to Grid:" ' 'label7 ' Me.label7.Location = New System.Drawing.Point(8, 201) Me.label7.Name = "label7" Me.label7.Size = New System.Drawing.Size(136, 16) Me.label7.TabIndex = 22 Me.label7.Text = "Sticky Move Tolerance:" ' 'label6 ' Me.label6.Location = New System.Drawing.Point(8, 169) Me.label6.Name = "label6" Me.label6.Size = New System.Drawing.Size(88, 16) Me.label6.TabIndex = 21 Me.label6.Text = "Snap Tips:" ' 'label5 ' Me.label5.Location = New System.Drawing.Point(8, 137) Me.label5.Name = "label5" Me.label5.Size = New System.Drawing.Size(144, 16) Me.label5.TabIndex = 20 Me.label5.Text = "Distance Correction Factor:" ' 'label4 ' Me.label4.Location = New System.Drawing.Point(8, 105) Me.label4.Name = "label4" Me.label4.Size = New System.Drawing.Size(88, 16) Me.label4.TabIndex = 19 Me.label4.Text = "Direction Units:" ' 'label3 ' Me.label3.Location = New System.Drawing.Point(8, 73) Me.label3.Name = "label3" Me.label3.Size = New System.Drawing.Size(88, 16) Me.label3.TabIndex = 18 Me.label3.Text = "Direction Type:" ' 'label2 ' Me.label2.Location = New System.Drawing.Point(8, 41) Me.label2.Name = "label2" Me.label2.Size = New System.Drawing.Size(120, 16) Me.label2.TabIndex = 17 Me.label2.Text = "Angular Unit Precision:" ' 'label1 ' Me.label1.Location = New System.Drawing.Point(8, 9) Me.label1.Name = "label1" Me.label1.Size = New System.Drawing.Size(136, 16) Me.label1.TabIndex = 16 Me.label1.Text = "Angular Correction Offset:" ' 'EditProperties2 ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(264, 262) Me.Controls.Add(Me.txtTolerance) Me.Controls.Add(Me.chkGrid) Me.Controls.Add(Me.chkSnapTips) Me.Controls.Add(Me.txtFactor) Me.Controls.Add(Me.cboUnits) Me.Controls.Add(Me.cboType) Me.Controls.Add(Me.txtPrecision) Me.Controls.Add(Me.txtOffset) Me.Controls.Add(Me.label8) Me.Controls.Add(Me.label7) Me.Controls.Add(Me.label6) Me.Controls.Add(Me.label5) Me.Controls.Add(Me.label4) Me.Controls.Add(Me.label3) Me.Controls.Add(Me.label2) Me.Controls.Add(Me.label1) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow Me.Name = "EditProperties2" Me.Text = "Edit Properties 2" Me.ResumeLayout(False) End Sub #End Region Private Sub EditProperties2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Populate form with current IEngineProperties2 values txtOffset.Text = m_engineEditProperties2.AngularCorrectionOffset.ToString() txtPrecision.Text = m_engineEditProperties2.AngularUnitPrecision.ToString() txtFactor.Text = m_engineEditProperties2.DistanceCorrectionFactor.ToString() txtTolerance.Text = m_engineEditProperties2.StickyMoveTolerance.ToString() If (m_engineEditProperties2.SnapTips) Then chkSnapTips.Checked = True Else chkSnapTips.Checked = False End If If (m_engineEditProperties2.UseGroundToGrid) Then chkGrid.Checked = True Else chkGrid.Checked = False End If 'Select current direction type Dim type As esriEngineDirectionType type = m_engineEditProperties2.DirectionType Select Case (type.ToString()) Case "esriEngineDTNorthAzimuth" cboType.SelectedItem = "North Azimuth" Exit Select Case "esriEngineDTSouthAzimuth" cboType.SelectedItem = "South Azimuth" Exit Select Case "esriEngineDTPolar" cboType.SelectedItem = "Polar" Exit Select Case "esriEngineDTQuadrantBearing" cboType.SelectedItem = "Quadrant Bearing" Exit Select Case Else Exit Select End Select 'Select current direction units Dim units As esriEngineDirectionUnits units = m_engineEditProperties2.DirectionUnits Select Case (units.ToString()) Case "esriEngineDURadians" cboUnits.SelectedItem = "Radians" Exit Select Case "esriEngineDUDecimalDegrees" cboUnits.SelectedItem = "Decimal Degrees" Exit Select Case "esriEngineDUDegreesMinutesSeconds" cboUnits.SelectedItem = "Degrees Minutes Seconds" Exit Select Case "esriEngineDUGradians" cboUnits.SelectedItem = "Gradians" Exit Select Case "esriEngineDUGons" cboUnits.SelectedItem = "Gons" Exit Select Case Else Exit Select End Select End Sub Private Sub EditProperties2_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing 'Update Offset property If (txtOffset.Text <> "") Then m_engineEditProperties2.AngularCorrectionOffset = Convert.ToInt32(txtOffset.Text) End If 'Update Precision property If (txtPrecision.Text <> "") Then m_engineEditProperties2.AngularUnitPrecision = Convert.ToInt32(txtPrecision.Text) End If 'Update Distance Correction Factor property If (txtFactor.Text <> "") Then m_engineEditProperties2.DistanceCorrectionFactor = Convert.ToInt32(txtFactor.Text) End If 'Update Tolerance property If (txtTolerance.Text <> "") Then m_engineEditProperties2.StickyMoveTolerance = Convert.ToInt32(txtTolerance.Text) End If 'Update Snap Tips property If (chkSnapTips.Checked) Then m_engineEditProperties2.SnapTips = True Else m_engineEditProperties2.SnapTips = False End If 'Update Grid property If (chkGrid.Checked) Then m_engineEditProperties2.UseGroundToGrid = True Else m_engineEditProperties2.UseGroundToGrid = False End If 'Set Direction Type property Dim type As String type = cboType.SelectedItem.ToString() Select Case (Type) Case "North Azimuth" m_engineEditProperties2.DirectionType = esriEngineDirectionType.esriEngineDTNorthAzimuth Exit Select Case "South Azimuth" m_engineEditProperties2.DirectionType = esriEngineDirectionType.esriEngineDTSouthAzimuth Exit Select Case "Polar" m_engineEditProperties2.DirectionType = esriEngineDirectionType.esriEngineDTPolar Exit Select Case "Quadrant Bearing" m_engineEditProperties2.DirectionType = esriEngineDirectionType.esriEngineDTQuadrantBearing Case Else Exit Select End Select 'Set Direction Units property Dim units As String units = cboUnits.SelectedItem.ToString() Select Case (units) Case "Radians" m_engineEditProperties2.DirectionUnits = esriEngineDirectionUnits.esriEngineDURadians Exit Select Case "Decimal Degrees" m_engineEditProperties2.DirectionUnits = esriEngineDirectionUnits.esriEngineDUDecimalDegrees Exit Select Case "Degrees Minutes Seconds" m_engineEditProperties2.DirectionUnits = esriEngineDirectionUnits.esriEngineDUDegreesMinutesSeconds Exit Select Case "Gradians" m_engineEditProperties2.DirectionUnits = esriEngineDirectionUnits.esriEngineDUGradians Exit Select Case "Gons" m_engineEditProperties2.DirectionUnits = esriEngineDirectionUnits.esriEngineDUGons Exit Select Case Else Exit Select End Select End Sub Private Sub txtOffset_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtOffset.TextChanged 'Validate offset Try If (txtOffset.Text <> "") Then Convert.ToInt32(txtOffset.Text) End If Catch MessageBox.Show("Correction offset should be a numeric value", "Correction Offset") txtOffset.Text = "" txtOffset.Focus() End Try End Sub Private Sub txtPrecision_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtPrecision.TextChanged 'Validate precision Try If (txtPrecision.Text <> "") Then Convert.ToInt32(txtPrecision.Text) End If Catch MessageBox.Show("Unit precision should be a numeric value", "Unit Precision") txtPrecision.Text = "" txtPrecision.Focus() End Try End Sub Private Sub txtFactor_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFactor.TextChanged 'Validate factor Try If (txtFactor.Text <> "") Then Convert.ToInt32(txtFactor.Text) End If Catch MessageBox.Show("Distance Correction Factor should be a numeric value", "Distance Correction Factor") txtFactor.Text = "" txtFactor.Focus() End Try End Sub Private Sub txtTolerance_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTolerance.TextChanged 'Validate tolerance Try If (txtTolerance.Text <> "") Then Convert.ToInt32(txtTolerance.Text) End If Catch MessageBox.Show("Sticky Move Tolerance should be a numeric value", "Sticky Move Tolerance") txtTolerance.Text = "" txtTolerance.Focus() End Try End Sub End Class