Я выполняю некоторые функции проверки для моего проекта, но я что-то застрял. Я хочу иметь одну функцию для обработки нескольких различных элементов управления и ошибок.
Вот мой код:Получить c.SelectedItem в элементах управления C#
private void ValidateControls(Control c)
{
if (c is TextBox)
{
if (c.Text == "")
{
epNew.SetError(c, "Something");
}
}
else if (c is ComboBox)
{
// What now?
// if (c.SelectedItem == null) does not work
}
}
И я называю это так:
private void txtNEAN_Validating(object sender, CancelEventArgs e)
{
ValidateControls(txtNEAN);
}
Это прекрасно работает для текстовых полей. Но если я делаю:
private void cbbEMerk_Validating(object sender, CancelEventArgs e)
{
ValidateControls(cbbEMerk);
}
if (c.SelectedItem == null)
, например, не работает.
Как я могу это достичь? И это нормально использовать? Если нет, то какая альтернатива лучше?
Хотелось бы услышать что угодно!
Спасибо за предложения и ответ! Я помету это, как только смогу. – Sj03rs
Вы также можете прочитать https://msdn.microsoft.com/en-us/library/ms950965.aspx (не уверен, что вы работаете с WinForms, но в любом случае) –
Кроме того, вам не нужно бросать его, как 'if (((ComboBox) c) .SelectedItem == null)'? В противном случае это даст мне ошибку, которую ComboBox не может использовать в качестве метода. – Sj03rs