HenningVBruker Skrevet 5. mai 2008 Del Skrevet 5. mai 2008 Hei, hvordan får jeg til at en bruker kan legge til ord i comboboxlista men programmet kjører? Hilsen Henning Lenke til kommentar
GeirGrusom Skrevet 5. mai 2008 Del Skrevet 5. mai 2008 VB.NET Combobox.Items.Add("Hello World!") VB6 Combobox.AddItem "Hello World!" (hvis jeg husker riktig da) Lenke til kommentar
HenningVBruker Skrevet 5. mai 2008 Forfatter Del Skrevet 5. mai 2008 VB.NETCombobox.Items.Add("Hello World!") VB6 Combobox.AddItem "Hello World!" (hvis jeg husker riktig da) Takk Geir. Går det ann å få det slik at vis brukeren høyreklikker på den aktuelle comboboxen så åpner comboboxen for edit. jeg programmerer i vb.net Lenke til kommentar
GeirGrusom Skrevet 5. mai 2008 Del Skrevet 5. mai 2008 Jeg er litt usikker på hva du mener. Lenke til kommentar
HenningVBruker Skrevet 5. mai 2008 Forfatter Del Skrevet 5. mai 2008 Jeg er litt usikker på hva du mener. OK. hmm skal vi se!! Jeg har en form med mange comboboxer, der kan brukerene registrere sine observasjoner. De fleste observasjoner er fastsatt av en nordisk standar. Disse standardene har jeg editert på forhånd inn i comboboxene, men det må være mulig for brukerne å legge til observasjoner i comboboxene fordi de fleste brukerne har noen personlige måte/vei å rapportere/skrive sin observasjon på. Derfor er det viktig for brukerne å kunne tilføye sine personlige ord/utrykk i comboboxene på en enkel og rask måte. Dette må gjøres med alle comboboxene i mitt program og det er mange av dem. Håper du forstår hva jeg er ute etter. Hilsen Henning Lenke til kommentar
GeirGrusom Skrevet 5. mai 2008 Del Skrevet 5. mai 2008 Ok Jeg regner med at du allerede lagrer disse verdiene i en combobox et sted, så det enkleste er rett og slett å legge inn en KeyPress event: Public Sub OnComboKeyPress(ByVal sender As Object, ByVal e As KeyEventArgs) If e.KeyChar = Chr(13) Then Dim cmb As ComboBox = CType(sender, GetType(ComboBox)) cmb.Items.Add(cmb.Text) End If End Sub Deretter binder du denne funksjonen til alle comboboxene som trenger den. Lenke til kommentar
HenningVBruker Skrevet 5. mai 2008 Forfatter Del Skrevet 5. mai 2008 Ok Jeg regner med at du allerede lagrer disse verdiene i en combobox et sted, så det enkleste er rett og slett å legge inn en KeyPress event: Public Sub OnComboKeyPress(ByVal sender As Object, ByVal e As KeyEventArgs) If e.KeyChar = Chr(13) Then Dim cmb As ComboBox = CType(sender, GetType(ComboBox)) cmb.Items.Add(cmb.Text) End If End Sub Deretter binder du denne funksjonen til alle comboboxene som trenger den. Får det ikke til å virke. Vet ikke hvor jeg skal sette inn den koden eller hvordan den virker. Uansett hva jeg gjorde fikk jeg mange feilmeldinger. Sliter med å sette koder jeg finner eller får hjelp med på rett sted. Men man lærer så lenge man lever. Kan du forklare nærmere hvordan jeg skal gjøre dette. Hilsen Henning Lenke til kommentar
aadnk Skrevet 10. mai 2008 Del Skrevet 10. mai 2008 Ser ut til at e-parameteren hadde feil datatype. I tillegg er det nok en god idé å automatisere refereringen til hendelsesprosedyren: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' Utvid funksjonaliteten til alle kombibokser i formen For Each Combo As ComboBox In Me.Controls ' Kobler funksjon til hendelse AddHandler Combo.KeyPress, AddressOf OnComboKeyPress Next End Sub Public Sub OnComboKeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs) ' Legg til ord/uttrykk når bruker klikker Enter If e.KeyChar = Chr(13) Then With CType(sender, ComboBox) .Items.Add(.Text) End With End If End Sub Lenke til kommentar
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å