如何在新按钮单击时将TableLayoutPanel中的第一个控件聚焦

时间:2012-12-07 05:30:57

标签: c# winforms

我已经从基本表单继承了新的保存关闭按钮到所有表单。我在基本表单中编写代码,以便在单击新按钮时清除所有控件。

foreach (Control ctrl in cc)
{
    if (ctrl.GetType() == typeof(TextBox))
        ctrl.Text = "";

    else if (ctrl.GetType() == typeof(ComboBox))
    {
        ComboBox cb = ctrl as ComboBox;
        cb.SelectedIndex = -1;
        cb.Text = "";
    }
}

此代码将清除所有TextBoxes和ComboBoxes。现在我想在单击新按钮后聚焦第一个TextBox。代码必须以基本形式书写,以便将所有继承形式的第一个控件集中在一起。

1 个答案:

答案 0 :(得分:0)

您可以使用LINQ FirstOrDefault从基本表单上的Control Collection中获取第一个TextBox。稍后您可以调用其Focus方法。

TextBox firstTextBox = this.Controls.OfType<TextBox>().FirstOrDefault();
if(firstTextBox != null)
    firstTextBox.Focus();