Я пытаюсь проверить кучу элементов управления в GroupBox
в приложении на основе формы.Невозможно применить объект Type1 к типу Type2?
Я не могу представить карту ComboBox
приложению, чтобы он распознавал и генерировал ошибку, и это делается только для TextBox
.
private void groupBox1_Validating(object sender, CancelEventArgs e)
{
foreach (Control control in groupBox1.Controls)
{
string controlType = control.GetType().ToString();
var lst = new List<string>() { "System.Windows.Forms.TextBox" ,"System.Windows.Forms.ComboBox"};
//if (controlType == "System.Windows.Forms.TextBox")
if (lst.Contains(controlType, StringComparer.OrdinalIgnoreCase))
{
TextBox txtBox = (TextBox)control;
ComboBox combo = (ComboBox)control;
if (string.IsNullOrEmpty(txtBox.Text) && string.IsNullOrEmpty(combo.Text))
{
MessageBox.Show(txtBox.Name + " Can not be empty");
}
}
}
}
Здесь ошибка я получаю:
Невозможно привести объект 'System.Windows.Forms.ComboBox' типа к типу 'System.Windows.Forms.TextBox'.
Ну, выпадающий * не * текстовое поле, что вы пытаетесь достичь здесь? –
Вы относитесь к 'as', который будет оценивать до« null », если он не может быть отброшен? 'TextBox txtBox = управление как TextBox;'? –
Кроме того, почему бы просто не пойти на 'control.Text'? –