我当前的功能只找到第一个不完全正确的文本框。控件类没有IsEditable属性。
private static Control FindFocusableControl(Control CurrentControl)
{
if (CurrentControl.Visible)
{
if (CurrentControl is TextBox)
{
return CurrentControl;
}
if (CurrentControl.HasControls())
{
foreach (Control CurrentChildControl in CurrentControl.Controls)
{
Control focusableControl = FindFocusableControl(CurrentChildControl);
if (focusableControl != null)
{
return focusableControl;
}
}
}
}
return null;
}
答案 0 :(得分:0)
在第一个子控件的第一次递归中,子控件可能不可见,因此例程退出。
if (CurrentControl.Visible)
此时您可能需要另外一种检查,可能先检查文本框,然后检查是否可见。