Gå til innhold

En enklere måte å få til dette på?


Anbefalte innlegg

Hva kan jeg gjøre istedet for å gjør det så innvikla som dette?

 

If TextBox1.Text = 2 Then
           TextBox2.Show()
       End If
       If TextBox1.Text = 3 Then
           TextBox2.Show()
           TextBox3.Show()
       End If
       If TextBox1.Text = 4 Then
           TextBox4.Show()
           TextBox5.Show()
           TextBox6.Show()
       End If

 

 

Beklager den dårlige topic beskrivelsen, men kom ikke på bedre.

Endret av LeifOlav
Lenke til kommentar
Videoannonse
Annonse

Select case Textbox1.text
   case 2
       TextBox2.Show()
   case 3
      TextBox2.Show()
      TextBox3.Show()
case 4
      TextBox4.Show()
      TextBox5.Show()
      TextBox6.Show()
end select

 

Skulle gjøre det enklere. Om du vil ha det enda enklere vil det kanskje hjelpe å forklare oss hva du prøver å gjøre.

Lenke til kommentar

Vil ha det enda lettere. Det jeg prøver å gjøre er at når jeg skriver inn ett tall fra 1-15 så vil jeg at antallet som står skal komme opp i textboxer. Så om jeg skriver 7, så kommer det 7 tekstbokser som viser. De resterende 8 forblir "visible = false"

Lenke til kommentar

Legg tekstboksene du ønsker å vise/skjule i en panel (panelBoxes). I den øvrige tekstboksens endringshendelse legger du inn følgende kode:

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged

 

    Dim Value As Integer

 

    ' Se om tekstboksens innhold kan konverteres

    If Integer.TryParse(TextBox1.Text, Value) Then

        ' Gå gjennom alle tekstboksene i panelet

        For Each Item As Control In panelBoxes.Controls

            If Item.GetType Is GetType(TextBox) Then

                Item.Visible = Value > 0

                Value -= 1

            End If

        Next

    End If

 

End Sub

Lenke til kommentar

den måten virka ikke tror jeg. Fikk det ihvertfall ikke til. Isamme slengen, hvordan skal jeg løse dette her:

 

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       WebBrowser1.Navigate("HTML")
       Application.DoEvents()
       While WebBrowser1.IsBusy
           Application.DoEvents()
       End While
   End Sub
[color=green]'Når jeg har trykka på denne knappen så logger den på nettsida..[/color]


Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
       WebBrowser1.Document.All("o").SetAttribute("value", TextBox1.Text)
[COLOR=green]'Så setter den inn i "o" det som står i TextBox1.Text[/COLOR]

[COLOR=red]Så når jeg trykker en annen knapp så skal den navigere til en annen HTML:[/COLOR]

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
       WebBrowser1.Navigate("HTML1")
       Application.DoEvents()
       While WebBrowser1.IsBusy
           Application.DoEvents()
       End While

[COLOR=blue]'Her er det problemet oppstår. Jeg vil at den automatisk skal sette inn noe her og, men hvis jeg legger det til under "button4" så virker det ikke. Det må ligge under "webbrowser1_document complete" Men hvis jeg legger det der så virker det ikke heller pga. da stopper det som allerede står der for videre "prosess". Ikke så lett å forklare, men sånn her ser det ut når det ikke virker:[/COLOR]

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       WebBrowser1.Navigate("HTML")
       Application.DoEvents()
       While WebBrowser1.IsBusy
           Application.DoEvents()
       End While
   End Sub


Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
       WebBrowser1.Navigate("HTML1")
       Application.DoEvents()
       While WebBrowser1.IsBusy
           Application.DoEvents()
       End While



Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
       WebBrowser1.Document.All("o").SetAttribute("value", TextBox1.Text)


WebBrowser1.Document.All("p").SetAttribute("value", TextBox3.Text)

Endret av LeifOlav
Lenke til kommentar

NM-bot altså? :tease:

 

Hm, du kan vel muligens benytte en Backgroundworker til å eksekvere kodelinjen i DocumentCompleted-hendelsen. Da burde i hvert fall ikke noe låse seg.

 

For øvrig, kan du være litt mer spesifikk med hensyn til koden jeg gav deg? Fikk du en feilmelding? Husk at alle tekstbokskontrollene må legges INN i panelet, og ikke ligge rett utenfor (muligens ved å benytte CTRL+X og CTRL+V).

Lenke til kommentar
NM-bot altså?  :tease:

 

9294267[/snapback]

 

Nei, har gitt opp det skitet der :p Mange nok fra før som fuckker opp der :tease:

 

Dessuten bruker de ikke bare en bokstav der, de bruker f.eks "name=brukernavn" og ikke "name=o" :innocent:

 

 

 

 

 

Angående den koden så fikk jeg ikke opp noe feilmelding. Jeg lagde et "Panel" og satte inn 4 textboxer. Så ble det sånn her:

 

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged

   Dim Value As Integer

   ' Se om tekstboksens innhold kan konverteres
   If Integer.TryParse(TextBox1.Text, Value) Then
       ' Gå gjennom alle tekstboksene i panelet
       For Each Item As Control In Panel.Controls
           If Item.GetType Is GetType(TextBox) Then
               Item.Visible = Value > 0
               Value -= 1
           End If
       Next
   End If

End Sub

 

Så prøvde jeg programmet, men da hadde jeg jo ingen tekstbox hvor jeg kunne skrive inn antall textboxer jeg ville skulle vise.

Endret av LeifOlav
Lenke til kommentar

Du kan ikke bare lime inn koden og håpe på det beste. Legg inn fire tekstbokser i et panel. Legg så inn en ny tekstboks med navn txtCount (eller noe sånt - NAVNGI kontrollene i det minste) og erstatt alle forekomster av TextBox1 og TextBox4 i koden jeg gav deg til dette navnet.

Lenke til kommentar
Vi lander stadig tilbake på det med å faktisk LÆRE seg programmering, PRØVE selv og ikke bare klippe og lime og bli frustrert når det ikke fungerer.

 

Er dette for avansert, så begynn på noe enklere og avansér senere!

9295202[/snapback]

 

Beste måten å lære på er feiling. Slutt å syt. Skal vedde på at 60% av dine post's er bare syting om hvorfor bruke gamle prog. som VB6 og at du ikke kan begynne på ditt å datt før du har lært deg basicen osv. :thumbdown:

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...