如何将焦点设置在自定义控件中的控件上?

Iva*_*ono 6 c# winforms objectlistview visual-studio-2012

我有一个包含文本框和按钮的自定义控件.我使用自定义控件作为ObjectListView中特定列的编辑控件.

在CellEditStarting事件上我做:

private void datalistViewProducts_CellEditStarting(object sender, CellEditEventArgs e)
{
    var ctl = (MyCustomControl)e.Control;
    e.Control = ctl;
}
Run Code Online (Sandbox Code Playgroud)

ObjectListView的ConfigureControl方法已经调用了控件的Select方法.如果我有一个直接从标准TextBox继承的usercontrol,它工作正常.

所以我将以下代码添加到我的usercontrol:

public new void Select()
{
    textBox.Select();
}
Run Code Online (Sandbox Code Playgroud)

但是,如上所述具有用户控件,该Select方法不会将焦点移动到文本框.

我在这里错过了什么?

Iva*_*ono 1

使它最终起作用的唯一方法是在用户控件中添加以下代码:

protected override void OnEnter(EventArgs e)
{
    base.OnEnter(e);
    textBox.Select();
}
Run Code Online (Sandbox Code Playgroud)