Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Mala pomoc sa keyvalue i shift (VB.NET)

[es] :: .NET :: .NET Desktop razvoj :: Mala pomoc sa keyvalue i shift (VB.NET)

[ Pregleda: 3561 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Sija

Član broj: 19607
Poruke: 83
*.as58.ob.bih.net.ba.



+8 Profil

icon Mala pomoc sa keyvalue i shift (VB.NET)19.06.2007. u 14:32 - pre 204 meseci
Hocu da sprijecim unos skoro svega osim brojeva u textbox ali na shift mi "prolaze": !"#$%&/()= tj. kako da uhvatim keyvalue za njih. Prodje mi i keyvalue 142 s tim da kasni npr. na "142 " sve je o.k. ali cim unesem neki broj u textboxu mi se pojavi "¸" prije njega.

Code:
    Private Sub txtBroj_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtBroj.KeyDown

        Select Case e.KeyValue
            Case 48 To 57
                Exit Sub
            Case 46
                Exit Sub
            Case 37
                Exit Sub
            Case 39
                Exit Sub
            Case 96 To 105
                Exit Sub
            Case 27 'ako je u pitanju esc
                Me.Close()
            Case 8
                Exit Sub
            Case Else
                e.SuppressKeyPress = True
        End Select

    End Sub
 
Odgovor na temu

Pharos
Pančevo

Član broj: 20664
Poruke: 1029
*.adsl-1.sezampro.yu.



+2 Profil

icon Re: Mala pomoc sa keyvalue i shift (VB.NET)20.06.2007. u 11:29 - pre 204 meseci
Evo malo C# koda.
Verovatno postoji i elegantnije rešenje, ali to ostavljam tebi na optimizaciju.
Code:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    bool ima = false;
    char[] karakteri = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', (char)8 };
    for (int i = 0; i < karakteri.Length; i++)
    {
        if (e.KeyChar == karakteri[i])
        {
            ima = true;
            break;
        }
    }
    if (!ima) e.Handled = true;
}

77 77 77 2E 65 73 6E 69 70 73 2E 63 6F 6D
 
Odgovor na temu

fpedja
Beograd

Član broj: 145092
Poruke: 76
*.xdsl.beograd.com.



Profil

icon Re: Mala pomoc sa keyvalue i shift (VB.NET)20.06.2007. u 13:01 - pre 204 meseci
Na brzinu, probaj nesto ovako:
Code:
Select Case e.KeyChar
      Case CChar("0") To CChar("9"), ControlChars.Back
        e.Handled = False
      Case ControlChars.Cr
        txtInterest.Focus()
        e.Handled = False
      Case CChar(".")
        If InStr(txtDeposit.Text, ".") = 0 Then
          e.Handled = False
        Else
          e.Handled = True
        End If
      Case Else
        e.Handled = True
    End Select


U txtInteres ubacuje brojeve, decimalnu tacku i prihvata enter.
 
Odgovor na temu

Sija

Član broj: 19607
Poruke: 83
*.as58.ob.bih.net.ba.



+8 Profil

icon Re: Mala pomoc sa keyvalue i shift (VB.NET)29.06.2007. u 14:48 - pre 204 meseci
Hvala Vam puno pomogli ste mi. Malo sam modifikovao i imam ono sto mi treba:
Code:
        Select Case e.KeyChar
            Case CChar("0") To CChar("9"), ControlChars.Back
                e.Handled = False
            Case ControlChars.Cr
                txtInterest.Focus()
                e.Handled = False
            Case CChar(",")
                If InStr(TextBox1.Text, ",") = 0 Then
                    e.Handled = False
                Else
                    e.Handled = True
                End If
            Case CChar("-")
                If InStr(TextBox1.Text, "-") = 0 Then
                    e.Handled = True
                    TextBox1.Text = "-" & TextBox1.Text.ToString
                    TextBox1.SelectionStart() = TextBox1.TextLength
                Else
                    e.Handled = True
                End If
            Case Else
                e.Handled = True
        End Select
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Mala pomoc sa keyvalue i shift (VB.NET)

[ Pregleda: 3561 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.