我已经将新的保存关闭按钮从基本表单继承到所有表单。我在基本窗体中编写代码,以便在单击新按钮时清除所有控件。
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 = "";
}
}
此代码将清除所有文本框和组合框。现在我想在单击新按钮后聚焦第一个文本框。代码必须以基形式编写,以便在所有继承的窗体中首先关注控件。
您可以使用
LINQ FirstOrDefault 从基窗体上的控件集合中获取第一个TextBox
。稍后可以调用其 Focus 方法。
TextBox firstTextBox = this.Controls.OfType<TextBox>().FirstOrDefault();
if(firstTextBox != null)
firstTextBox.Focus();