Hej! Inte helt säker på vad du menar, men använde du Click-eventet i VB6 så får du motsvarande beteende i VB.NET genom att använda SelectedIndexChanged-eventet istället. Hej Tomas! Hej! Hur ser koden ut? Hej Tomas! OK! Och vad är det som händer som du vill inte ska hända, och/eller vad är det som inte händer som du vill ska hända? Hej! Är du säker på att det är SelectedIndexChanged-eventet som anropar UserList()? Lyssnar du på några andra events för comboboxen, alt. populerar/väljer saker i den dynamiskt på nåt sätt? Hej! Det händer när du pillar på ComboBox.DataSource. Ett sätt att ordna det på är att temporärt sluta lyssna på eventet medan du populerar comboboxen:Klicka i en combobox
Jag fattar inte varför det är på detta sätt.
Jag läser in data från en access databas till en Combobox1 jag vill som var väldigt lätt i VB6 att sätta funktionen click och då bara klicka på comboboxen så den öppnades för att klicka på ett alternativ som sedan skickade vidare till en annan funktion men i vb 2010 så får jag inte till det som jag vill ha det.
Vad ska man göra för att det ska funka i vb 2010
Nu när jag klickar skickas värdet direkt utan att boxen öppnas, säkert någon inställning som jag inte har hittat.
Tobbe Sv: Klicka i en combobox
msdn.microsoft.com/en-us/library/fte6kbt2(v=vs.71).aspxSv:Klicka i en combobox
Har använt SelectedIndexChanged eventet och då beter den sig så här. Ändrade till SelectionChangeCommitted eventet med AutoCompleteMode = SuggestAppend då funkar det.
/TobbeSv: Klicka i en combobox
Var lite snabb i kommentaren märker att om man har en Combobox och använder eventet SelectedIndexChanged och Click så skickas första värdet direkt när man klickar för att öppna boxen, innan man har valt ett värde i listen hur kommer man runt detta?
Det jag vill utföra är att läsa in värden i en Combobox i typ dropdown öppna boxen för att klicka på ett värde när boxen stängs anropa en annan funktion som utför en sökning i databasen på valt värde.
TobbeSv:Klicka i en combobox
Lyssnar du på både eventet Click och SelectedIndexChanged? Som jag tolkar ditt scenario har du ingen anledning att lyssna på Click-eventet.Sv: Klicka i en combobox
Så här har jag gjort.
Private Sub CboUser_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CboUser.SelectedIndexChanged
UserList()
End Sub
I Private sub UserList()
Söker jag efter valt värde från CboUser i en sql sräng mot access databas.
TobbeSv:Klicka i en combobox
Sv: Klicka i en combobox
Jo det som händer är att när jag klickar för att öppna Boxen skickas första värdet i väg till UserList och datagrisview fylls med det värde som ligger först i boxen.
Jag vill öppna boxen klicka på ett värde då vill jag att värdet skickas till Private sub UserList .
TobbeSv:Klicka i en combobox
Sv: Klicka i en combobox
Verkar som att när jag fyller Boxen skickas första värdet iväg direkt.
Fyller den så här.
Dim con As New OleDb.OleDbConnection
Dim dbProvider As String
Dim ds As New DataSet
Dim da As OleDb.OleDbDataAdapter
Dim sql As String
dbProvider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " & Application.StartupPath & "\Db\Databas.mdb"
con.ConnectionString = dbProvider
con.Open()
sql = "SELECT [Name] FROM [Narvaro]"
da = New OleDb.OleDbDataAdapter(sql, con)
da.Fill(ds, "Narvaro")
With ComboBox1
.DataSource = ds.Tables("Narvaro")
.DisplayMember = "Namn"
.ValueMember = "Namn"
'.SelectedIndex = 0
End With
con.Close()
con.Dispose()
Exit SubSv:Klicka i en combobox
Private Sub PopulateComboBox()
Dim items As String() = New String() {"Ätt", "2", "Trä", "Fura"}
RemoveHandler ComboBox1.SelectedIndexChanged, AddressOf ComboBox1_SelectedIndexChanged
With ComboBox1
.DataSource = items
End With
AddHandler ComboBox1.SelectedIndexChanged, AddressOf ComboBox1_SelectedIndexChanged
End Sub