C# 组合框下拉列表和按键

C# 组合框下拉列表和按键,c#,combobox,drop-down-menu,keypress,C#,Combobox,Drop Down Menu,Keypress,我有一个下拉列表,其中包含所有的时区。Displayname 所有这些显示名称显示为: (GMT+09:00)首尔(GMT-06:00)中央时间(美国和加拿大)等 有没有办法让按键事件搜索“)”后面的第一个字母?现在它只识别组合框字符串的第一个字符,即“(” 编辑 更改了标题,因为时区实际上与问题无关。我将构建您的列表并将字符串顺序交换为 Seoul (GMT +09:00) Central Time (US & Canada)(GMT -06:00) etc... 相反。。。 有两列

我有一个下拉列表,其中包含所有的
时区。Displayname

所有这些显示名称显示为:

(GMT+09:00)首尔(GMT-06:00)中央时间(美国和加拿大)等

有没有办法让按键事件搜索“)”后面的第一个字母?现在它只识别组合框字符串的第一个字符,即“(”

编辑


更改了标题,因为时区实际上与问题无关。

我将构建您的列表并将字符串顺序交换为

Seoul (GMT +09:00)
Central Time (US & Canada)(GMT -06:00)
etc...
相反。。。
有两列的列表,这样您就可以显示原始列值和修改后的列值。您的组合框可以有“显示”值和“值”…

您必须自己提供按键搜索功能。例如,覆盖
按键
,每当按下一个键时,在列表中循环并显示所需的列表项。或者您可以使用方法查找字符串,如下所示:

private void comboBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
   string findString = string.Empty;
    comboBox1.SelectedIndex = comboBox1.FindString(e.KeyChar.ToString());
   if(comboBox1.SelectedIndex > -1){e.Handled = true;}
}