C# Windows CE文本框焦点问题

C# Windows CE文本框焦点问题,c#,compact-framework,focus,windows-ce,C#,Compact Framework,Focus,Windows Ce,我无法将焦点设置回文本框。我在Windows Ce和Windows Mobile 5上运行相同的应用程序,问题只出现在WinCE上。 在表单上,我有一个自定义控件(比如自定义下拉列表)和一个文本框,在自定义控件中选择一个项目后,我希望将焦点传递回文本框 代码如下所示: private void ddlCurrencyList_SelectedItemChanged(object sender, SelectedItemArgs e) { _selectedCurrency = Curre

我无法将焦点设置回文本框。我在Windows Ce和Windows Mobile 5上运行相同的应用程序,问题只出现在WinCE上。 在表单上,我有一个自定义控件(比如自定义下拉列表)和一个文本框,在自定义控件中选择一个项目后,我希望将焦点传递回文本框

代码如下所示:

private void ddlCurrencyList_SelectedItemChanged(object sender, SelectedItemArgs e)
{
    _selectedCurrency = CurrencyCollection.Find(ddlCurrencyList.SelectedValue);
    txtTabValue.Focus(); //does not work on Win CE. 
}

我想不出是什么偷走了WinCe的焦点。

我猜列表在调用事件后会重新获得焦点。也许在一个单独的线程中调用对txtTabValue.Focus()的调用会有所帮助,该线程只需等待几毫秒,然后在窗体的线程上下文中调用txtTabValue.Focus()?似乎有点过头了,但可能会起作用-使用紧凑框架时会发生奇怪的事情;-)

调用GetFocus找出焦点在哪里..focus()应该可以工作。您确定后台没有运行任何程序吗?