Witam,
chciałbym się was zapytać jak można napisać konwersję aby za pomocą jednego przycisku konwertowało z dowolnego pola TextBox na inny system.
Mam 4 pola textBox decimal, Hex, octal i bin.
Jeżeli wpiszę w pole decimal dowloną liczbę np: 100, to chciałbym aby po kliknięciu przycisk konwertowało w innych polach. I na odwrót, czyli w polu bin wpiszę 111101, i pojawia się liczba w innych polach.
Wyczytałem, że to robi się w try catch lub za pomocą case i napisałem coś takiego:
Przycisk button_click:
private bool konwersja = false;
private void TextBox_TextChanged(object sender, EventArgs e)
{
if (konwersja) return;
konwersja = true;
TextBox kon = sender as TextBox;
long value = 0;
try
{
switch (kon.text)
{
case "TextBox1":
value = long.Parse(source.Text);
break;
case "TextBox2":
value = Convert.ToInt64(source.Text, 16);
break;
case "TextBox3":
value = Convert.ToInt64(source.Text, 8);
break;
case "TextBox4":
value = Convert.ToInt64(source.Text, 2);
break;
}
}
catch (Exception ex)
{
Label.Text = " nie wprowadziłeś liczby!";
}
Też wyczytałem że jest Convert.ToInt64(nazwa_pola.Text, 2). To String();
Czy takie coś jest dobrze napisane?