private void CalcMGRS()
        {
            try
            {
                LbL_Error.Visible = false;

                if (CheckAndMarkMGRS())
                {
                    string latz         = TB_MGRS_NorthGrid.Text.ToUpperInvariant();
                    int    lonz         = int.Parse(TB_MGRS_EastGrid.Text);
                    string digraph      = TB_MGRS_SubgridIdent.Text.ToUpperInvariant();
                    string fractionText = TB_MGRS_Fraction.Text.Replace(" ", "");
                    double easting      = double.Parse(fractionText.Substring(0, fractionText.Length / 2).PadRight(5, '0'));
                    double northing     = double.Parse(fractionText.Substring(fractionText.Length / 2).PadRight(5, '0'));

                    CoordinateSharp.MilitaryGridReferenceSystem mgrs = new CoordinateSharp.MilitaryGridReferenceSystem(latz: latz, longz: lonz, d: digraph, e: easting, n: northing);
                    input = CoordinateSharp.MilitaryGridReferenceSystem.MGRStoLatLong(mgrs);
                    DisplayCoordinates();
                }
            }
            catch (Exception e)
            {
                LbL_Error.Visible = true;
                LbL_Error.Text    = e.Message;
            }
        }
        private void DisplayCoordinates()
        {
            if (input != null)
            {
                // General FormatOptions
                CoordinateSharp.CoordinateFormatOptions formatOptions = new CoordinateSharp.CoordinateFormatOptions
                {
                    Display_Degree_Symbol  = true,
                    Display_Minute_Symbol  = true,
                    Display_Seconds_Symbol = true,
                    Display_Leading_Zeros  = true,
                    Display_Trailing_Zeros = true,

                    // Out LL
                    Format = CoordinateSharp.CoordinateFormatType.Degree_Minutes_Seconds,
                    Round  = 2
                };
                input.FormatOptions = formatOptions;
                TB_Out_LL.Text      = input.Display.Replace("º", "°").Replace(",", ".");

                // Out LL Decimal
                formatOptions.Format = CoordinateSharp.CoordinateFormatType.Degree_Decimal_Minutes;
                formatOptions.Round  = 4;
                input.FormatOptions  = formatOptions;
                TB_Out_LLDec.Text    = input.Display.Replace("º", "°").Replace(",", ".");

                // Out MGRS
                CoordinateSharp.MilitaryGridReferenceSystem mgrs = input.MGRS;
                TB_Out_MGRS.Text = mgrs.ToString();

                // Out UTM
                CoordinateSharp.UniversalTransverseMercator utm = input.UTM;
                TB_Out_UTM.Text = utm.ToString();

                // Out Bulls
                if (bulls == null)
                {
                    TB_Out_Bulls.Text = "Bullseye not set";
                }
                else
                {
                    TB_Out_Bulls.Text = bulls.GetBRA(input).ToString();
                }
            }
        }