C# foreach 用户控件
C# foreach UserControl
我正在尝试使用以下代码计算 C# 中的公式:
foreach (ucBstelle b in ucAufnahme1.Controls)
{
foreach(Control c in b.Controls)
{
TextBox txt = c as TextBox;
if (txt != null)
{
if (txt.Text == "")
txt.Text = "0";
Match match = Regex.Match(txt.Text, "[0-9]");
if (!match.Success)
{
MessageBox.Show("Please use only numbers");
return;
}
}
}
}
ucBstellen
是一个带有组合框和 4 个文本框的用户控件。
ucAufnahmen
是另一个用户控件,包含 3 个 ucBstellen
和一些其他控件(4 个组合框、2 个文本框和一个按钮)
当我尝试调试代码时,它抛出一个 InvalidCastException
,上面写着:
ComboBox can't be converted to ucBstelle
谁能告诉我我做错了什么?
改变
foreach (ucBstelle b in ucAufnahme1.Controls)
到
foreach (ucBstelle b in ucAufnahme1.Controls.OfType<ucBstellen>())
当 foreach
尝试从 Controls
集合
中转换组合框时出现错误
我正在尝试使用以下代码计算 C# 中的公式:
foreach (ucBstelle b in ucAufnahme1.Controls)
{
foreach(Control c in b.Controls)
{
TextBox txt = c as TextBox;
if (txt != null)
{
if (txt.Text == "")
txt.Text = "0";
Match match = Regex.Match(txt.Text, "[0-9]");
if (!match.Success)
{
MessageBox.Show("Please use only numbers");
return;
}
}
}
}
ucBstellen
是一个带有组合框和 4 个文本框的用户控件。ucAufnahmen
是另一个用户控件,包含 3 个ucBstellen
和一些其他控件(4 个组合框、2 个文本框和一个按钮)
当我尝试调试代码时,它抛出一个 InvalidCastException
,上面写着:
ComboBox can't be converted to ucBstelle
谁能告诉我我做错了什么?
改变
foreach (ucBstelle b in ucAufnahme1.Controls)
到
foreach (ucBstelle b in ucAufnahme1.Controls.OfType<ucBstellen>())
当 foreach
尝试从 Controls
集合