Witajcie.
Jak zwykle mam problem z najprostszymi rzeczami :/
A mianowicie: mam texboxa który musi być obwarowany wieloma warunkami dotyczącymi tekstu jaki mogę tam wpisać (mogę podać tylko określoną liczbę - napięcie mieszczące się w zakresie napięciowym). Sprawdzanie czy wszystko się zgadza robię w TextChanged:
private void txtU1_TextChanged(object sender, EventArgs e)
{
try
{
double changeU1 = Convert.ToDouble(txtU1.Text, System.Globalization.CultureInfo.InvariantCulture);
if(cmbRangeU.SelectedIndex == 0)
{
valRangeU = 500;
}
if (Convert.ToDouble(txtU1.Text, System.Globalization.CultureInfo.InvariantCulture) < minU || Convert.ToDouble(txtU1.Text, System.Globalization.CultureInfo.InvariantCulture) > maxU || Convert.ToDouble(txtU1.Text, System.Globalization.CultureInfo.InvariantCulture) > valRangeU)
{
txtU1.BackColor = Color.Red; //jeśli wartość jest mniejsza od min to podswietl na czerwono
}
else
{
txtU1.BackColor = Color.White; //jesli dobra wartość to nie podswietlaj
}
}
catch (FormatException)
{
txtU1.BackColor = Color.Red;
}
}
i tu mam problem ponieważ jak wpiszę np. coś takiego: 20.34 to jest ok (kolor texboxa jest biały), ale jak już wpiszę 20,34 to kolor zamienia się na czerwony (mimo, że nie przekracza zakresu napięciowego ustawionego na 60V). Wiem tylko to, że w drugim przypadku on widzi tą liczbę jak 2034.
Nie mam pojęcia co robię źle :/
Mam również pytanie (jak w temacie) czyli czy jest możliwa w TextChanged dynamiczna zamiana przecinków na kropi. Czyli gdy wpiszę przecinek to automatycznie mi program zamieni to na kropkę??
Z góry wielkie dzięki za wszelką pomoc.
Pozdrawiam.