public void Convert() { if (bc.IsValidRadix(mInputBase) && bc.IsValidRadix(mOutputBase)) { if (bc.IsValidString(InputString, mInputBase)) { try { InputNumber = NumberConverter.ToBase(InputString, mInputBase, mInputBase); OutputNumber = NumberConverter.ToBase(InputNumber.DecimalValue, mOutputBase); mHistory.AddEntry(InputNumber, OutputNumber); InputString = InputNumber.ValueInBase; OutputString = OutputNumber.ValueInBase; ErrorMessage = ""; } catch (System.OverflowException) { ErrorMessage = "The input number is to large. Max value in base " + InputBase + ": " + NumberConverter.MaxValueForBase(mInputBase); InputNumber = NumberConverter.ToBase(0, 10); OutputNumber = NumberConverter.ToBase(0, 10); InputString = InputNumber.ValueInBase; OutputString = OutputNumber.ValueInBase; } } else { ErrorMessage = "The number does not match it's given radix"; } } else { ErrorMessage = "Radix must be between 2 and 99"; } }