Hogyan lehet c#-ban megcsinálni ezt? (kb. kezdő szintű kérdés)
most tanulom a c#-ot és készítek egy programot ami nagyon jól működik de most kicsit ki akarom "csicsázni".falhasználó barátabbá tenni.
szóval azt hogy lehet megcsinálni hogy egy textboxba csak egy számjegyet lehessen beírni?
A programban több textbox van (8 db) és az kéne hogy ha beírt az elsőbe 1 számjegyet akkor ugorjon át (focus) a másodikra és így tovább.
Az utsó kérdés az lenne hogy hogy lehet azt megakadályozni hogy a textboxokba betűket+egyéb jeleket ne lehessen beírni?
c#-hez nem értek. De VB.net-ben van olyan tulajdonsága a textboxnak, hogy MaxLength :)
Ellenőrizni: én úgy csinálnám, hogy megnézem, hogy maga a számjegy nem "0"-e ("0" string), ha pedig nem, akkor az abszolútértéke nagyobb-e nullánál
itt a c# kód:
private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
{
int a;
if (int.TryParse(textBox1.Text, out a))
{
a = int.Parse(textBox1.Text);
if ((a < 1) || (a > 10)) textBox1.Text = "";
textBox2.Focus();
}
else textBox1.Text = "";
}
Röviden úgy működik, hogy amit beírtak, azt megpróbálja int-é (egész számmá) konvertálni. Ha sikerül, akkor megnézi, hogy 1 és 10 között van-e. Ha igen, akkor úgy hagyja, ha nem, akkor kinullázza (üres karaktert ír oda). Akkor is ezt teszi, ha nem tudja számmá alakítani a beírt szöveget. Ha 1 és 10 közé eső számot írtál be, akkor átlép a következő textbox-ra.
Egy kis módosítás, hogy csak akkor ugorjon tovább, ha 1 és 10 közötti a szám:
private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
{
int a;
if (int.TryParse(textBox1.Text, out a))
{
a = int.Parse(textBox1.Text);
if ((a < 1) || (a > 10))
{
textBox1.Text = "";
}
else textBox2.Focus();
}
else textBox1.Text = "";
}
így már elméletileg hibátlanul megy, bár idő szűkében nem teszteltem :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!