Znači da je comboBox vezan opet za neki drugi DataSet (ili slično) sa svim ili nekim korisnicima. Tako on ne sadrži kolekciju stringova već nekih (meni nepoznatih) objekata.
Ako tako pokušamo da tražimo IndexOf sa stringom, dobićemo uvek -1 za SelectedIndex... Što će kasti da smo selektovali ništa.
Ideja - prođeš kroz kolekciju comboBoxa i nađeš objekat koji ima odgovarajući UserName... pa njega proslediš kao parametar u IndexOf i ima da radi.
Trebalo bi da bude nešto slično sledećem:
Kôd:
public void SetUser(string userName)
{
IEnumerator enumerator = comboBox1.Items.GetEnumerator();
while
(
enumerator.MoveNext()
&& ((MyType)enumerator.Current).UserName != userName
)
{ }//prazna petlja, MoveNext radi sve potrebno
try
{
comboBox1.SelectedIndex
= comboBox1
.Items
.IndexOf((MyType)enumerator.Current);
}
catch (InvalidOperationException e)
{
MessageBox.Show("Eh, nije postavljeno, evo poruke: " + e.Message);
}
}
Umesto MyType treba da ide stvarni tip kolekcije kojom je napunjen kombo, a .UserName valja da zameni ono što će da čita vrednost polja korisničkog imena.