private void toolKM_Click_1(object sender, EventArgs e) { ////变化单位时重新显示数据 xisheng 20111118 //if (m_Units == esriUnits.esriMeters) //{ // this.m_Units = esriUnits.esriKilometers; // if (lblResult.Text.Trim() != "") // { // if (toolMeasureArea.Checked) // ShowResult(2, false); // else if (toolMeasureLine.Checked) // ShowResult(1, false); // } //} ////***************************************end //toolKM.Checked = true; toolM.Checked = false; //变化单位时重新显示数据 xisheng 20111118 this.m_MyUnits = enumMyUnits.KiloMeters; if (lblResult.Text.Trim() != "") { if (toolMeasureArea.Checked) { ShowResult(2, false); } else if (toolMeasureLine.Checked) { ShowResult(1, false); } } toolKM.Checked = true; toolMu.Checked = false; toolHectares.Checked = false; toolM.Checked = false; }
private void toolHectares_Click(object sender, EventArgs e) { //变化单位时重新显示数据 xisheng 20111118 this.m_MyUnits = enumMyUnits.Hectares; if (lblResult.Text.Trim() != "") { if (toolMeasureArea.Checked) { ShowResult(2, false); } else if (toolMeasureLine.Checked) { ShowResult(1, false); } } toolKM.Checked = false; toolMu.Checked = false; toolHectares.Checked = true; toolM.Checked = false; }
private string GetMyAreaUnitsName(enumMyUnits pUnit) { switch (pUnit) { case enumMyUnits.Meters: return("平方米"); case enumMyUnits.KiloMeters: return("平方千米"); case enumMyUnits.Mu: return("亩"); case enumMyUnits.Hectares: return("公顷"); default: return("平方米"); break; } }
public void ShowResult(int meaType, bool start) { string sResult = ""; string sUnit_len = ""; string sUnit_Area = ""; sUnit_len = this.GetMyLenUnitsName(m_MyUnits); sUnit_Area = this.GetMyAreaUnitsName(m_MyUnits); enumMyUnits pToUnit = m_MyUnits; ////////////////////判断坐标单位是否一致//////////////////////// double dSum = this.dblSumLength; double bCurrentlen = this.dblSegLength; double dlen = this.dblLength; //xs针对单位变化的时候来调整数据的 xisheng 2011117 double area = dblArea; double sumarea = dblSumArea; double show_curCirclelen = dlen; double show_curlen = bCurrentlen; double show_sumlen = dSum; double show_curarea = area; double show_sumarea = sumarea; if (pToUnit == enumMyUnits.Meters) { if (arealast != 0) { area = arealast; sumarea = sumarealast; } else { arealast = area; sumarealast = sumarea; //dblSumArea = dblSumArea * 1000000; } } else if (pToUnit == enumMyUnits.KiloMeters) { if (arealast != 0) { area = arealast; sumarea = sumarealast; } else { arealast = area; sumarealast = sumarea; //dblSumArea = dblSumArea / 1000000; } show_curCirclelen = show_curCirclelen / 1000; show_curlen = show_curlen / 1000; show_sumlen = show_sumlen / 1000; show_curarea = show_curarea / 1000000; show_sumarea = show_sumarea / 1000000; } else if (pToUnit == enumMyUnits.Mu) { if (arealast != 0) { area = arealast; sumarea = sumarealast; } else { arealast = area; sumarealast = sumarea; //dblSumArea = dblSumArea / 1000000; } show_curarea = show_curarea * 3 / 2000; show_sumarea = show_sumarea * 3 / 2000; } else if (pToUnit == enumMyUnits.Hectares) { if (arealast != 0) { area = arealast; sumarea = sumarealast; } else { arealast = area; sumarealast = sumarea; //dblSumArea = dblSumArea / 1000000; } show_curarea = show_curarea / 10000; show_sumarea = show_sumarea / 10000; } //xs***************************************************end if (meaType == 1) { sResult = "线段测量结果:\n当前弧段长度:" + Math.Round(show_curCirclelen, 3) + sUnit_len + "\n当前线段长度:" + Math.Round(show_curlen, 3) + sUnit_len; if (this.m_bShowSum == true) { sResult += "\n\n总长度:" + Math.Round(show_sumlen, 3) + sUnit_len; } } else if (meaType == 2) { sResult = "多边形测量结果:\n当前弧段长度:" + Math.Round(show_curCirclelen, 3) + sUnit_len + "\n当前多边形周长:" + Math.Round(show_curlen, 3) + sUnit_len + "\n当前多边形面积:" + Math.Round(show_curarea, 3) + sUnit_Area; if (this.m_bShowSum == true) { sResult += "\n\n总周长:" + Math.Round(show_sumlen, 3) + sUnit_len + "\n总面积:" + Math.Round(show_sumarea, 3) + sUnit_Area; } } else if (meaType == 3) { sResult = "和X正轴夹角:" + ang.ToString("f2") + "°"; } if (start) { //重新画了之后把之前的面积置于0 xisheng 20111118 sumarealast = 0; arealast = 0; } this.lblResult.Text = sResult; }
//显示结果到窗体上 public void ShowResult(double segLen, double len, double SumLen, double Area, double SumArea, bool IsLine) { string sResult = ""; string sUnit_len = ""; string sUnit_Area = ""; sUnit_len = this.GetMyLenUnitsName(m_MyUnits); sUnit_Area = this.GetMyAreaUnitsName(m_MyUnits); ////////////////////判断坐标单位是否一致//////////////////////// double dSum = SumLen; double bCurrentlen = segLen; double dlen = len; enumMyUnits pToUnit = m_MyUnits; double show_curCirclelen = dlen; double show_curlen = bCurrentlen; double show_sumlen = dSum; double show_curarea = Area; double show_sumarea = SumArea; if (pToUnit == enumMyUnits.Meters) { } else if (pToUnit == enumMyUnits.KiloMeters) { show_curCirclelen = show_curCirclelen / 1000; show_curlen = show_curlen / 1000; show_sumlen = show_sumlen / 1000; show_curarea = show_curarea / 1000000; show_sumarea = show_sumarea / 1000000; } else if (pToUnit == enumMyUnits.Mu) { show_curarea = show_curarea * 3 / 2000; show_sumarea = show_sumarea * 3 / 2000; } else if (pToUnit == enumMyUnits.Hectares) { show_curarea = show_curarea / 10000; show_sumarea = show_sumarea / 10000; } //原有代码 //if (this.m_Displayunit != esriUnits.esriUnknownUnits) //{ // if (this.m_Displayunit != this.m_Units) // { // dSum = UnitConvert(dSum); // bCurrentlen = UnitConvert(bCurrentlen); // dlen = UnitConvert(dlen); // //Area = UnitConvert(Area); // //SumArea = UnitConvert(SumArea); // } //} //////////////////////////////////////////////////////////////// //xisheng 20111118 end************************************end if (IsLine == true) { sResult = "线段测量结果:\n当前弧段长度:" + Math.Round(show_curCirclelen, 3) + sUnit_len + "\n当前线段长度:" + Math.Round(show_curlen, 3) + sUnit_len; if (this.m_bShowSum == true) { sResult += "\n\n总长度:" + Math.Round(show_sumlen, 3) + sUnit_len; } } else { sResult = "多边形测量结果:\n当前弧段长度:" + Math.Round(show_curlen, 3) + sUnit_len + "\n当前多边形周长:" + Math.Round(show_curCirclelen, 3) + sUnit_len + "\n当前多边形面积:" + Math.Round(show_curarea, 3) + sUnit_Area; if (this.m_bShowSum == true) { sResult += "\n\n总周长:" + Math.Round(show_sumlen, 3) + sUnit_len + "\n总面积:" + Math.Round(show_sumarea, 3) + sUnit_Area; } } this.lblResult.Text = sResult; }