DODATAK: TextBox i kontrola unosa pomoću događaja ... predviđeno za 13.02
Komponenta TextBox omogućava unos tekstualnih podataka, a kontrola unosa može se postići korišćenjem različitih događaja. U nastavku su primeri nekih događaja i primera kako ih možemo koristiti:
1. KeyPress – Kontrola karaktera prilikom unosa
Ovaj događaj se koristi za ograničavanje unosa određenih karaktera. Možemo ga koristiti za dozvoljavanje samo brojeva, slova ili specifičnih znakova.
Primer – Dozvoljen unos samo cifara:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
e.Handled = true; // Blokira unos nedozvoljenog karaktera
}
}
Objašnjenje:
char.IsControl(e.KeyChar): Proverava da li je pritisnut kontrolni taster (kao što je Backspace)char.IsDigit(e.KeyChar): Proverava da li je uneta cifra.- Ako nije cifra ni kontrolni taster, unos se blokira.
2. TextChanged – Reagovanje na promenu teksta
Ovaj događaj se aktivira svaki put kada se sadržaj TextBox-a promeni.
Primer – Automatsko formatiranje unosa:
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox1.Text = textBox1.Text.ToUpper(); // Pretvara unos u velika slova
textBox1.SelectionStart = textBox1.Text.Length; // Čuva poziciju kursora
}
Objašnjenje:
- Pretvara unos u velika slova automatski.
SelectionStartosigurava da kursor ostane na kraju teksta nakon promene.
3. Validating – Provera unosa pre nego što polje izgubi fokus
Koristi se za validaciju podataka pre nego što korisnik pređe na drugo polje.
Primer – Provera da li je polje prazno:
private void textBox1_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
if (string.IsNullOrWhiteSpace(textBox1.Text))
{
MessageBox.Show("Polje ne sme biti prazno!");
e.Cancel = true; // Sprečava prelazak na drugo polje dok se ne unese validan podatak
}
}
Objašnjenje:
string.IsNullOrWhiteSpace()proverava da li je polje prazno ili sadrži samo razmake.- Ako je unos nevalidan, prikazuje se poruka i sprečava se prelazak na drugo polje.
4. Leave – Događaj prilikom napuštanja polja
Koristi se kada želimo da validiramo unos nakon što korisnik napusti polje.
Primer – Automatsko dodavanje prefiksa ako ga korisnik nije uneo:
private void textBox1_Leave(object sender, EventArgs e)
{
if (!textBox1.Text.StartsWith("ID-"))
{
textBox1.Text = "ID-" + textBox1.Text;
}
}
Objašnjenje:
- Ako tekst ne počinje sa "ID-", dodaje se automatski.
- Obezbeđuje konzistentnost formata unosa.
5. MouseHover – Prikazivanje dodatnih informacija
Ovaj događaj omogućava prikazivanje saveta kada korisnik zadrži pokazivač miša iznad polja.
Primer – Prikazivanje ToolTip-a sa uputstvom za unos:
private void textBox1_MouseHover(object sender, EventArgs e)
{
ToolTip toolTip1 = new ToolTip();
toolTip1.SetToolTip(textBox1, "Unesite vaše ime (samo slova).");
}
Objašnjenje:
- Kada korisnik zadrži miš iznad
TextBox-a, pojavljuje se objašnjenje.
Napomena:
Preporučuje se kombinovanje više događaja kako bi se osigurao ispravan unos podataka pre nego što budu poslati na dalju obradu.