Hallo,
ich habe eine Listbox in der sich ein ganzer Haufen 7 stelliger Zahlen befindet. Wird nun eine Taste gedrückt springt die Listbox auf das erste Element das mit der gedrückten Zahl übereinstimmt, soweit so fast gut. Wie kann ich es nun realisieren, dass der Benutzer eine 7 stellige Zahl eintippt und die Listbox auf diese Zahl springt ? Geht das überhaupt ?
Gruß Chris
Mit einer AutoComplete ListBox sollte das funktionieren, allerdings gibt es diese Funktion im Framework 1.1 nicht (In 2.0 ist sie mit dabei). Deshalb musst du dir selber helfen. Ich habe dir mal einen ungetesteten Code hin geschrieben:
public class AutoCompleteBox : ComboBox
{
public AutoCompleteBox()
{
this.KeyUp += new KeyEventHandler(AutoCompleteBox_KeyUp);
}
private void AutoCompleteBox_KeyUp(object sender, KeyEventArgs e)
{
string text = this.Text;
int idx;
switch ( e.KeyCode )
{
case Keys.Left:
return;
case Keys.Right:
return;
case Keys.Up:
return;
case Keys.Down:
return;
case Keys.Delete:
return;
case Keys.Back:
return;
}
idx = this.FindString( text );
if ( idx >= 0 )
{
this.SelectedIndex = idx;
this.Select( text.Length, this.Text.Length );
}
}
}
Das sollte funktionieren.
Mit freundlichen Grüßen
René Paschold
.NET Developer / Trainer / Speaker / Author /
Projectleader / Software-Architect
.blog http://www.rene-paschold.de/
.business http://www.smarthouse.de/
Hallo zervantis,
mit scheint eine ComboBox mit
DropDownStyle = ComboBoxStyle.Simple;
ist relativ nah, an dem was du willst.
herbivore
Original von Rene Paschold
Mit einer AutoComplete ListBox sollte das funktionieren....
Das sollte funktionieren.
Vielen Dank das funktioniert genau wie ichs wollte!!
Grüße Chris