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;}
}