[ icko1985 @ 13.07.2007. 22:24 ] @
Pozdrav ljudi treba mi pomoc.Problem je sledeci: kako omoguciti da se u text box mogu unositi samo brojevi (od 1 do 9 znam da omogucim da se unosi jedan karakter ) ako se recimo unese slovo da izbaci upozorenje.Kako je najlakse ovo uraditi??? Hvala
[ bags @ 13.07.2007. 22:54 ] @
Mislim da ti je najlakse preko regularnih izraza (pogledaj Regex i ErrorProvider klase).

Evo i jedan link:
http://www.codeproject.com/cs/miscctrl/RegExTextbox.asp



[ NemanjaCSHARP @ 16.07.2007. 09:52 ] @
Ovo mozesh da uradish na dva nachina :

1) u real-time-u sto znachi cim unese nesto u textbox odmah da ga opomene
2)na klik dugmeta

[ Shevchenko @ 16.07.2007. 10:22 ] @
Moze i ovako (real time resenje), uz pomoc KeyPress dogadjaja:

Code:

private void txtJMBG_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar < 48 || e.KeyChar > 57) && (e.KeyChar != 8))
                e.Handled = true;
        }


Pre ovog e.Handled mozes da dodas MessageBox da ti opomene korisnika :)
[ Prokleta_Nedelja @ 16.07.2007. 11:13 ] @
Mozes ovako

u TextBoxu izaberi KeyDown

i onda ispitaj ASCII vrijednosti. Brojevi se nalaze izmedju 48 i 57 pa tako ako je ASCII vrijednost <48 ili veca od 57 onda izbaci poruku o pogresnom unosu
[ Shevchenko @ 16.07.2007. 11:25 ] @
Citat:
Prokleta_Nedelja: Mozes ovako

u TextBoxu izaberi KeyDown

i onda ispitaj ASCII vrijednosti. Brojevi se nalaze izmedju 48 i 57 pa tako ako je ASCII vrijednost <48 ili veca od 57 onda izbaci poruku o pogresnom unosu


Zar ja nisam to napisao u predhodnom postu? :)
[ fpedja @ 16.07.2007. 12:26 ] @
Evo ti kod koji ti omogućuje samo brojeve, decimalnu tacku, backspace i enter!
Code:
Private Sub txtBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtBox.KeyPress
           
    Select Case e.KeyChar
      Case CChar("0") To CChar("9"), ControlChars.Back
        e.Handled = False

      Case ControlChars.Cr
        txtBox1.Focus()
        e.Handled = False

      Case CChar(".")
        If InStr(txtBox.Text, ".") = 0 Then
          e.Handled = False
        Else
          e.Handled = True
        End If
      Case Else
        e.Handled = True
    End Select
  End Sub



[Ovu poruku je menjao fpedja dana 16.07.2007. u 14:41 GMT+1]
[ NemanjaCSHARP @ 16.07.2007. 13:35 ] @
Moze to i preko timera ...

Na tick event .. stavish sve sto je shevcenko reko ...

stavish interval 100 i to je to ...