WinFormのパネルにユーザーコントロールを動的に追加しました。コントロールを動的に追加したので、winformのコントロールを検証したいので、このメソッドを使用しました。
private bool mobilemanu()
{
return panel1.Controls.OfType<UserControl1>().Select(uc => uc.comboBox1).Any(cb => cb.Text == String.Empty);
}
そして、私が使用したボタンクリックイベントで
private void button2_Click(object sender, EventArgs e)
{
bool mobil = mobilemanu();
if (!mobil)
{
//do this
}
else
{
//do that
}
}
また、このコードを使用して、どのコントロールが適切に入力されていないかを示していますが、最初のコントロールがエラーとして表示されているだけです。プログラミングの初心者なので、ここで少し混乱しています。
private void mobilemanuval()
{
bool val = mobilemanu();
if (val == true)
{
foreach (Control ctrl in panel1.Controls)
{
if (ctrl is UserControl1)
{
UserControl1 myCrl = ctrl as UserControl1;
{
if (myCrl.comboBox2.Text == string.Empty)
{
errorProvider1.SetError(myCrl.comboBox1, "entersomething");
}
if (myCrl.comboBox2.Text == string.Empty)
{
errorProvider1.SetError(myCrl.comboBox2, "entersomething");
}
}
}
}
}
}