private void Converte(object sender, RoutedEventArgs e) { //da binario a decimale if (Binario.Text == "" && Decimale.Text == "") { MessageBox.Show("Devi inserire un valore in una delle due caselle di testo!"); } else if ((Binario.Text != "" && Decimale.Text == "") || focusBin) { int decimale = 0; for (int i = Binario.Text.Length - 1; i >= 0; i--) { //la stringa in C# può essere gestita anche come array di caratteri if (Binario.Text[i] == '1') { decimale = decimale + (int)Math.Pow(2, i); //ho fatto il casting perchè Math.pow() restituisce un double } } Decimale.Text = decimale.ToString(); Decimale.Focus(); } //Fine da binario a decimale //da decimale a binario else if ((Binario.Text == "" && Decimale.Text != "") || focusDec) { Binario.Text = ""; for (int i = Convert.ToInt32(Decimale.Text); i >= 1; i = i / 2) { Binario.Text += (i % 2).ToString(); } String s = Binario.Text; Binario.Text = ""; for (int i = s.Length - 1; i >= 0; i--) { Binario.Text = Binario.Text + s[i]; } //fine da decimale a binario Binario.Focus(); } /*var b = (Button)sender; * b.IsEnabled = false;*/ }