Haben Sie sich auch schon oft darüber geärgert, dass beim Setzen der SelectedIndex-Eigenschaft einer ListBox per Code autom. auch immer das SelectedIndexChanged-Ereignis ausgelöst wird? Nachfolgender Tipp sorgt ab sofort für Abhilfe! ' Benötigte API-Deklarationen Private Declare Auto Function SendMessage Lib "user32" ( _ ByVal hwnd As IntPtr, _ ByVal wMsg As Integer, _ ByVal wParam As Integer, _ ByVal lParam As Integer) As Integer Private Const LB_SETCURSEL = &H186 ' ListBox-Eintrag selektieren ohne ' SelectedIndexChanged-Ereignis Public Sub LB_SetIndex(oList As ListBox, _ ByVal Index As Integer) SendMessage oList.Handle.ToInt32, LB_SETCURSEL, Index, 0& End Sub Kopieren Sie obigen Code am besten in ein Modul. Statt bisher: ListBox1.SelectedListIndex = 0 schreiben Sie ab sofort... LB_SetIndex(ListBox1, 0) ... und das SelectedIndexChanged-Ereignis wird nur noch dann ausgelöst, wenn der Anwender einen Eintrag entweder per Maus oder per Tastatur auswählt. Ach ja: soll kein Eintrag in der Liste selektiert sein, einfach -1 als Parameter angeben: LB_SetIndex(ListBox1, -1) |