title image


Smiley Re: ComboBox wählt falschen Eintrag bei Einträgen mit dem selben Text
Aber man weiß doch den Index des ausgewählten Eintrags. Es gibt doch bestimmt eine Möglichkeit/Workaround um das hinzubekommen.



Ich bin in meinen Versuchen bisher soweit gekommen, dass beim Ausklappen der richtige Eintrag ausgewählt wird, allerdings werden dann bei der Auswahl die Einträte nicht mehr markiert. Bisher ist mir dafür noch keine Lösung eingefallen :-(



public class MyComboBox : ComboBox

{

private int selectedIndex = -1;



public MyComboBox()

{

this.DrawMode = DrawMode.OwnerDrawFixed;

}



protected override void OnDrawItem(DrawItemEventArgs e)

{

if (e.Index this.Items.Count-1)

return;



DrawItemState state = ((e.Index == selectedIndex))

? e.State | DrawItemState.Selected

: DrawItemState.Default;



DrawItemEventArgs e2 = new DrawItemEventArgs(e.Graphics, e.Font, e.Bounds, e.Index, state);

e2.DrawBackground();



e.Graphics.DrawString(this.Items[e.Index].ToString(), e.Font, new SolidBrush(Color.Black), e.Bounds.X, e.Bounds.Y);



e.DrawFocusRectangle();



base.OnDrawItem(e);

}



protected override void OnSelectionChangeCommitted(EventArgs e)

{

selectedIndex = this.SelectedIndex;

base.OnSelectionChangeCommitted (e);

}

}



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: