private void performConversion_Click(object sender, EventArgs e) { string buttonText = ""; try { ConvertService cs = new ConvertService(); string convertedCode = "", errorMessage = ""; string conversionType = ConversionTypes[typeOfConversion.Items[typeOfConversion.SelectedIndex].ToString()]; buttonText = performConversion.Text; performConversion.Text = "waiting..."; performConversion.Enabled = false; bool bResult = cs.PerformConversion(conversionType, inputSource.Text, out convertedCode, out errorMessage); if (bResult) { outputTextBox.Text = convertedCode.Replace("\n", "\r\n"); } else { outputTextBox.Text = errorMessage.Replace("\n", "\r\n"); } } catch (Exception ex) { // Failure is reported via dialog box, but not presented in a "nice way" - after all, this is for developers MessageBox.Show("Web Service failed: " + ex.ToString()); } finally { performConversion.Text = buttonText; performConversion.Enabled = true; } }