0

考虑一个包含多列和多行的 Farpoint 扩展控件。在输入/按多个字母键时,应选择已输入单词组合的行。

示例:如果键入“a”、“n”、“u”,它应该自动选择名称为 anusha 的行。如果输入了“j”、“a”,它应该自动选择与该组合相关的行(jack、jane 等)。

当我使用下面的代码时,keyChar 的值始终是单个字符(a,b,c,..)。如果我尝试输入'a','n','u',它不会显示 anusha。它显示以 a(ambi)、n(nisha) 和 u(uma) 开头的其他名称。这是因为每次按下按键时都会调用 keypress 事件。现在我关心的是如何让 keyChar 接受字符串?

private void Keypress(object sender,KeyPressEventArgs e)
{
    If(e.KeyChar != (char)Keys.Enter && e.KeyChar != (char)Keys.Escape)
    {
        ABCFunction.SpreadKeyAction(SftTaskTree, e.KeyChar.ToString(), Name_Col_Pos);
    }
}

我尝试使用变量来存储和暂停线程特定时间。即使这也不起作用,因为每次它进入“if”循环并使存储的变量为空。

private void Keypress(object sender,KeyPressEventArgs e)
{
       store = store + e.KeyChar.ToString();
       Thread.Sleep(1500);
       If(e.KeyChar != (char)Keys.Enter && e.KeyChar != (char)Keys.Escape)
       {
          ABCFunction.SpreadKeyAction(SftTaskTree, store , Name_Col_Pos);
          store = String.Empty;
       }
}

请任何人帮助解决这个问题...

4

0 回答 0