protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); PointF text = new PointF(CMB_coordsystem.Right + 3, 3); //Enum.GetValues(typeof(CoordsSystems), CMB_coordsystem.Text); if (System == CoordsSystems.GEO.ToString()) { e.Graphics.DrawString(Lat.ToString("0.000000") + " " + Lng.ToString("0.000000") + " " + Alt.ToString("0.00"), this.Font, new SolidBrush(this.ForeColor), text, StringFormat.GenericDefault); } else if (System == CoordsSystems.UTM.ToString()) { UTM utm = (UTM)point; //utm.East.ToString("0.00") + " " + utm.North.ToString("0.00") e.Graphics.DrawString(utm.ToString() + " " + Alt.ToString("0.00"), this.Font, new SolidBrush(this.ForeColor), text, StringFormat.GenericDefault); } else if (System == CoordsSystems.MGRS.ToString()) { MGRS mgrs = (MGRS)point; mgrs.Precision = 5; e.Graphics.DrawString(mgrs.ToString() + " " + Alt.ToString("0.00"), this.Font, new SolidBrush(this.ForeColor), text, StringFormat.GenericDefault); } }
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); PointF text = new PointF(CMB_coordsystem.Right + 3, 3); if (System == CoordsSystems.GEO.ToString()) { if (Vertical) { e.Graphics.DrawString(Lat.ToString("0.000000") + "\n" + Lng.ToString("0.000000") + "\n" + Alt.ToString("0.00") + AltUnit, this.Font, new SolidBrush(this.ForeColor), text, StringFormat.GenericDefault); e.Graphics.DrawString(AltSource, this.Font, new SolidBrush(this.ForeColor), new PointF(CMB_coordsystem.Left, CMB_coordsystem.Bottom + 4), StringFormat.GenericDefault); } else { e.Graphics.DrawString(Lat.ToString("0.000000") + " " + Lng.ToString("0.000000") + " " + Alt.ToString("0.00") + AltUnit, this.Font, new SolidBrush(this.ForeColor), text, StringFormat.GenericDefault); } } else if (System == CoordsSystems.UTM.ToString()) { try { if (point.Latitude > 84 || point.Latitude < -80 || point.Longitude >= 180 || point.Longitude <= -180) { return; } UTM utm = (UTM)point; //utm.East.ToString("0.00") + " " + utm.North.ToString("0.00") string[] parts = utm.ToString().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); if (Vertical) { e.Graphics.DrawString(parts[0] + "\n" + parts[1] + "\n" + parts[2] + "\n" + Alt.ToString("0.00") + AltUnit, this.Font, new SolidBrush(this.ForeColor), text, StringFormat.GenericDefault); e.Graphics.DrawString(AltSource, this.Font, new SolidBrush(this.ForeColor), new PointF(CMB_coordsystem.Left, CMB_coordsystem.Bottom + 4), StringFormat.GenericDefault); } else { e.Graphics.DrawString(utm.ToString() + " " + Alt.ToString("0.00") + AltUnit, this.Font, new SolidBrush(this.ForeColor), text, StringFormat.GenericDefault); } } catch { } } else if (System == CoordsSystems.MGRS.ToString()) { try { if (point.Latitude > 84 || point.Latitude < -80 || point.Longitude >= 180 || point.Longitude <= -180) { return; } MGRS mgrs = (MGRS)point; mgrs.Precision = 5; if (Vertical) { e.Graphics.DrawString(mgrs.ToString() + "\n" + Alt.ToString("0.00") + AltUnit, this.Font, new SolidBrush(this.ForeColor), new Point(5, CMB_coordsystem.Bottom + 2), StringFormat.GenericDefault); e.Graphics.DrawString(AltSource, this.Font, new SolidBrush(this.ForeColor), new PointF(CMB_coordsystem.Right + 4, CMB_coordsystem.Top), StringFormat.GenericDefault); } else { e.Graphics.DrawString(mgrs.ToString() + " " + Alt.ToString("0.00") + AltUnit, this.Font, new SolidBrush(this.ForeColor), text, StringFormat.GenericDefault); } } catch { } } }