Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet c#-ban megcsináln...

Hogyan lehet c#-ban megcsinálni ezt? (kb. kezdő szintű kérdés)

Figyelt 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?


2010. nov. 20. 15:01
 1/5 anonim ***** válasza:
Legintuitívabb megoldás, ha rendelsz egy függvényt a textbox megváltoztatásakor kiváltott eseményhez, amiben ellenőrzöd, hogy mi van beleírva, és kitörlöd ami nem oda való. Ha meg jó, akkor átállítod a fókuszt.
2010. nov. 20. 16:02
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
de hogy kell megcsinálni azt hogy csak 1 számot lehessen beírni és hogy ellenőrizze azt?(mármint hogy ne betű stb legyen)
2010. nov. 20. 18:59
 3/5 anonim ***** válasza:

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

2010. nov. 20. 21:07
Hasznos számodra ez a válasz?
 4/5 anonim válasza:

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.

2014. jan. 31. 22:50
Hasznos számodra ez a válasz?
 5/5 anonim válasza:

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 :)

2014. jan. 31. 22:56
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!