Sto usando una listbox nella mia applicazione di moduli Windows C# 2.0. Il metodo per popolare la casella di riepilogo èCome prevenire l'evento ListBox.SelectedIndexChanged?
private void PopulateListBox(ListBox lb, ReportColumnList reportColumnList)
{
lb.DataSource = reportColumnList.ReportColumns;
lb.DisplayMember = "ColumnName";
lb.ValueMember = "ColumnName";
}
Tuttavia, quando si esegue il metodo si chiama anche il gestore eventi SelectedIndexChanged della casella di riepilogo, anche se io non sono la creazione l'indice selezionato nel metodo di cui sopra. Come posso impedire che il gestore di eventi SelectedIndexChanged venga chiamato per il codice sopra?
Voglio che l'evento venga chiamato solo quando l'utente effettua le selezioni nel ListBox. O c'è qualche altro evento che è solo per l'utente che seleziona gli oggetti della lista usando il click del mouse?
In un'altra nota, anche se l'utente fa clic su un'area vuota nella casella di riepilogo, l'evento SelectedIndexChanged viene generato. Quindi mi chiedo quanto sia diverso dall'evento MouseClick?
Per la maggior parte, non si può impedire che un oggetto da sollevare un evento .. Si può solo scegliere di smetti di ascoltare le notifiche degli eventi. – Gishu
Intendevo se potevo in qualche modo impedire quella parte del mio codice, che spara all'evento. Ma come possiamo vedere non c'è nulla che io possa fare come tutte e tre le righe nel PopulateListBox() sono reqd :) –