Avatar billede cmau Nybegynder
29. november 2006 - 15:27 Der er 12 kommentarer og
1 løsning

når begge felter er udfyldt + Ved enter skal den auto submittet

Hejsa

Jeg er lige startet med at lege med visual basic express og kodningen generelt i vb. Jeg har en knap som er dsiabled så man ikke kan klikke. Hvordan kan jeg så gøre sådan at den bliver enabled når to felter er udfyldt?

Og hvordan kan jeg gøre sådan at når felterne er udfyldt skal man kunne trykke enter istedet for at klikke på knappen.
Avatar billede tolveren Nybegynder
29. november 2006 - 15:33 #1
Læg en kode på knappen. Sub Knap: If felt1 > 0 and felt 2 > 0 then call Function else end sub
Avatar billede cmau Nybegynder
29. november 2006 - 15:43 #2
Jamen vil helst have så man slet ikke kan klikke på den inden de er udfyldte.
Avatar billede joern Nybegynder
29. november 2006 - 16:50 #3
Hej.

Der er en proporty, der hedder enabled.  Den kan være true eller false.  Ved false er knappen nedtonet og ikke tilgængelig
Avatar billede cmau Nybegynder
29. november 2006 - 18:15 #4
Hej joern det ved jeg godt :) Men skal have noget som tjekker om de to felter er udfyldte og derefter ændre enabled til true.
Avatar billede tolveren Nybegynder
29. november 2006 - 18:33 #5
Du må i property kunne sætte knappen til disabled. Lav en betingelse på felt2 som sætter knappen til enabled, når begge felter er udfyldt. Kig i VB hjælpen. Noget med Knap enabled = true
Avatar billede cmau Nybegynder
29. november 2006 - 18:51 #6
Hvad er vb hjælp?
Avatar billede joern Nybegynder
29. november 2006 - 19:00 #7
Private Sub Text2_Change()
  If Len(Text1.test) > 5 Then
      If Len(text2.Text) > 5 Then
          Command1.Enabled = True
          Command1_Click
      End If
        Else
      MsgBox ("Du skal udfylde begge felter med mindst 5 tegn.")
  End If
End Sub
Avatar billede cmau Nybegynder
29. november 2006 - 19:24 #8
Lavede det sådan:

    Private Sub username_Change()
        If Not username = "" And Not password = "" Then
            login.Enabled = True
        End If
    End Sub
    Private Sub password_Change()
        If Not username = "" And Not password = "" Then
            login.Enabled = True
        End If
    End Sub

Men den enabled'er ikke
Avatar billede cmau Nybegynder
29. november 2006 - 19:26 #9
Hov fejl. Sådan her er koden og den virker ikke:
    Private Sub user_Change()
        If Not user.Text = "" And Not user.Text = "" Then
            login.Enabled = True
        End If
    End Sub
    Private Sub pass_Change()
        If Not user.Text = "" And Not user.Text = "" Then
            login.Enabled = True
        End If
    End Sub
Avatar billede cmau Nybegynder
29. november 2006 - 20:02 #10
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        login.Enabled = True
    End Sub

Den virker fint, men det jo ikke nok :S
Avatar billede joern Nybegynder
29. november 2006 - 21:10 #11
Hej.

Fra et af mine programmer er her login-proceduren.  Brugernavne og de tilhørende passwords er forinden indlæst i et array, hvor de står skiftevis i elementerne - bruger - PW.

Private Sub knlogin_Click()
  If Len(txtbruger.Text) = 0 Then End
  'If Len(txtpass.Text) = 0 Then End
 
  For j = 0 To 50
    If LCase(id(j)) = LCase(txtbruger.Text) Then
      If kode(j) = txtpass.Text Then
          hunbasis.Visible = True
          hunbasis.labbruger.Caption = id(j)          'bruger
          medarb = Left(id(j) & Space(10), 10)        'benyttes også i nedbrudsproceduren
          frmlogin.Visible = False
          Open App.Path & "\login.log" For Output As #12
            Print #12, txtbruger.Text & "  " & Now
          Close #12
          txtbruger.Text = ""
          txtpass.Text = ""
          Exit Sub
        Else
          X = MsgBox("Kodeordet passer ikke til det angivne brugernavn, vær opmærksom på store/små bogstaver, prøv igen!", 48, "Medd. fra Færge-Booking.")
          k = k + 1
          txtpass.Text = ""
          If k > 5 Then
            X = MsgBox("Kodeordet er stadig forkert, kontakt systemadministrator!", 16, "Programmet afsluttes.")
            End
            Exit Sub
          End If
          txtpass.SetFocus
          Exit Sub
      End If
    End If
  Next j
 
 
 
  X = MsgBox("Det angivne brugernavn findes ikke.", 48, "Medd. fra  Færge-Booking login.")

End Sub


Som du kan se oprettes der også en log, hvor det kan aflæses hvem der er logget ind hvornår.
Avatar billede cmau Nybegynder
30. november 2006 - 14:54 #12
change virkede ikke, så jeg opgav og tjekker først når der er trykket på kanppen.
Avatar billede joern Nybegynder
30. november 2006 - 15:11 #13
Hej.

Hvis noget skal virke ved "change" skal det udløses ved indtastning af et bestemt tegn eller et bestemt antal tegn.  Programmet kan jo ikke vide hvornår brugeren er færdig med at taste.

Men hvis du vil udløse "submit" med Enter i det sidste felt kan det gøres således under "keypress"

Private Sub txtsognr_KeyPress(KeyAscii As Integer)
    If keyascii = 13 then ......

    End if
End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester