Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 4.556 pregleda

Najnovija ↓

Mala pomoc sa keyvalue i shift (VB.NET) 19.06.2007. u 15:32 · pre 235 meseci #1
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
Re: Mala pomoc sa keyvalue i shift (VB.NET) 20.06.2007. u 12:29 · pre 235 meseci #2
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;
}
Potpis
77 77 77 2E 65 73 6E 69 70 73 2E 63 6F 6D
Re: Mala pomoc sa keyvalue i shift (VB.NET) 20.06.2007. u 14:01 · pre 235 meseci #3
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.
Re: Mala pomoc sa keyvalue i shift (VB.NET) 29.06.2007. u 15:48 · pre 235 meseci #4
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
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme