private void dgvEmployee_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            string Key = e.KeyCode.ToString().ToLower();
            for (int i = 0; i < dgvEmployee.Rows.Count-4; i++)
            {
                string dgvKey = dgvEmployee.Rows[i].Cells[1].Value.ToString();
                if (Key.Length == 1)
                {
                    int str = dgvKey.IndexOf(Key, 0, 1);
                    if (str != -1)
                    {
                        dgvEmployee.CurrentCell = dgvEmployee.Rows[i].Cells[1];
                        break;
                    }
                }
            }
        }
这个事件可以完成,当用键盘输入'C'的时候,就可以定位到以C开头的名称。可如果我输入‘CA’的时候,怎么定位到CA开头的名称啊?这个事件刚输入一个字符的时候,就响应了。

解决方案 »

  1.   

    if (Key.Length == 2) 
                    { 
                        int str = dgvKey.IndexOf(Key, 0, 2); 
                        if (str != -1) 
                        { 
                            dgvEmployee.CurrentCell = dgvEmployee.Rows[i].Cells[1]; 
                            break; 
                        } 
                    } 
      

  2.   

    if (Key.Length == 2) 
                    { 
                        int str = dgvKey.IndexOf(Key, 0, 2); 
                        if (str != -1) 
                        { 
                            dgvEmployee.CurrentCell = dgvEmployee.Rows[i].Cells[1]; 
                            break; 
                        } 
                    } 
    这样做应该可以...支持