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.
  • SelectionStart osigurava 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.


Last modified: Wednesday, 12 February 2025, 10:02 PM