Turboguri Skrevet 18. mai 2008 Skrevet 18. mai 2008 (endret) Er det mulig å få vb til å opprette til f.eks. en linklable automatisk? Har en dynamisk matrise som den som bruker programmet kan fylle ut. Ønsker at etterhvert som det legges til data i matrisen skal dette vises som en liste. Å liste opp i en listbox eller lignende er selfølgelig mulig, og det å gi bruker mulighet til å endre innholdet i matrisen er heller ikke noe stress. Men det hadde sett bedre ut om man kan gjøre endringer ved å klikke på et objekt i en liste istede for å gå via knapper. Med en statisk matrise kunne jeg ha laget et grensesnitt(liste) på forhånd og deretter skjult de deler av listen som ikke inneholdt data. Men ettersom matrisen er dynamisk blir ikke dette noe gunstig løsning. Håper problemet er godt nok beskrevet. Endret 19. mai 2008 av Turboguri
GeirGrusom Skrevet 18. mai 2008 Skrevet 18. mai 2008 Du kan legge inn kontroller dynamisk med Controls.Add(i VB.NET)
Turboguri Skrevet 18. mai 2008 Forfatter Skrevet 18. mai 2008 Er nok controls.add jeg skal bruke ja, men finner ikke helt ut av bruken. Har du et liten kodesnutt som forklarer bruken av controls.add? Finne ingen brukbare eksempler med å google. Det jeg trenger er som sagt en kode som legger f.eks en knapp(linklabel, label etc kan også brukes) til GUI når en matrise fylles med data.
Degeim Skrevet 18. mai 2008 Skrevet 18. mai 2008 Har ikke VB installert, men noe slikt: Dim b as Button = New Button b.Text="Hei" b.SetBounds(15,15,50,20) Controls.Add(b)
GeirGrusom Skrevet 19. mai 2008 Skrevet 19. mai 2008 (endret) Hvis det er .NET, så er det forholdsvis enkelt: Public Sub AddControls() For i As Integer = 0 To 100 Dim btn As New Button btn.Location = New Point(0, i * 25) btn.Size = New Size(150, 20) btn.Text = "Knapp " & i AddHandler btn.Click, AddressOf ButtonClick Controls.Add(b) Next i End Sub Private Sub ButtonClick(ByVal sender As Object, ByVal e As EventArgs) Dim btn As Button = sender MessageBox.Show(btn.Text & " ble trykket inn") End Sub Endret 19. mai 2008 av GeirGrusom
Turboguri Skrevet 19. mai 2008 Forfatter Skrevet 19. mai 2008 Takker for all hjelp. Det er .NET, så begge kodesnuttene har hjulpet meg videre. Tror jeg skal ha nødvendig info for å komme et godt stykke videre med prosjektet.
Turboguri Skrevet 19. mai 2008 Forfatter Skrevet 19. mai 2008 Var litt kjapt ute med å si takk for meg.... Får opprettet knappper som jeg vil. Har laget følgende kode som et eksempel. Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click Dim i As Integer Dim a(3) As String a(0) = "per" a(1) = "kalle" a(2) = "knut" a(3) = "pelle" For i = 0 To 3 Dim b As Button = New Button b.Text = a(i) b.SetBounds(15, 15, 50, 30) b.Location = New Point(10, i * 35) Controls.Add(b) Next i End Sub Hvordan får jeg lagt kode til de nye knappene? Koden til knappen som tilhører a(0) skal kunne endre innholdet i a(0) etc.
GeirGrusom Skrevet 19. mai 2008 Skrevet 19. mai 2008 AddHandler btn.Click, AddressOf ButtonClick Private Sub ButtonClick(ByVal sender As Object, ByVal e As EventArgs) Dim btn As Button = sender MessageBox.Show(btn.Text & " ble trykket inn") End Sub Det er det denne koden gjør. Sender er alltid objektet som blir brukt, i dette tilfelle en knapp.
brgr Skrevet 25. mai 2008 Skrevet 25. mai 2008 For å legge til en handler for hver knapp er jo såre enkelt. Du legger til den Addhandler b.Click, AddressOf Buttonclick Så har vi Buttonclick prosedyren: Sub Buttonclick(sender as Button, e as Eventargs) Select Case LCase(sender.Name) Case Else MsgBox("Ugyldig knapp") End Select End Sub
Manfred Skrevet 25. mai 2008 Skrevet 25. mai 2008 Du synes det var så viktig å gjenta det GeirGrusom sa i litt andre ord? Funker dårlig med show-off når noen har kommet deg langt i forkjøpet, lille venn...
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå