【发布时间】:2011-03-10 23:26:52
【问题描述】:
我有一个列表视图,当我单击一个项目时,它会调用 SelectedIndexChange 事件,在该事件中,我想将焦点设置在文本框上,因此我调用:
this.ActiveControl = theTextBoxControl;
我可以在一瞬间看到焦点切换到文本框,但一旦事件完成,焦点就会返回到列表视图。任何想法如何解决这个问题?
【问题讨论】:
我有一个列表视图,当我单击一个项目时,它会调用 SelectedIndexChange 事件,在该事件中,我想将焦点设置在文本框上,因此我调用:
this.ActiveControl = theTextBoxControl;
我可以在一瞬间看到焦点切换到文本框,但一旦事件完成,焦点就会返回到列表视图。任何想法如何解决这个问题?
【问题讨论】:
您可能会创建一个标志并将其设置为 true,例如:needToFocusTextBox。然后在 ListView 的 onFocus 事件中进行如下操作。
if (needToFocusTextBox)
this.ActiveControl = theTextBoxControl;
或者,您可以在 SlectedIndexChange 事件中分配 onFocus 处理程序。处理完 onfocus 后将其删除
【讨论】: