2015-08-21 6 views
-3

Как я могу использовать элементы управления своим пользовательским интерфейсом из другого класса? Я хочу работать с этими элементами управления в другом классе, а затем называть его основной формой. Проблема в том, что новый класс, который я создал, не может получить доступ к метке или текстовым полям этих элементов управления, и я продолжаю получать ошибку.Доступ к элементам управления пользовательского интерфейса из другого класса в вашу основную форму в C#

Как решить эту проблему?

Сообщения об ошибках:

FirstName_text недоступен из-за его уровня защиты

First_Name_label недоступен из-за его уровня защиты

цвета не существует в текущем контексте

public void Checker() 
{ 
    //First Name Validation 
    if (Regex_Static_Class.FirstNameRgex.IsMatch(FirstName_text.Text) == false)  
    { 
     First_Name_label.Text = "invalid first name"; 
     Error_Lable.ForColor = Color.Pink;  
    } 
} 

ответ

0

I gues s First_Name_label - это ярлык пользовательского интерфейса, и он также должен быть доступен для вашего другого класса.

Может быть, сделать метод сеттера, чтобы заполнить текст на ваш ярлык.

0

Я бы сказал, что вы должны установить Модификаторов свойства для элементов управления в public или internal в Forms Designer для доступа к нему из другого класса. Экземпляр Control защищен по умолчанию.

Это ответ на ваш вопрос. Другое дело, что это не самая лучшая идея. Вы не должны напрямую обращаться к элементам управления формы вне формы. Класс формы должен инкапсулировать свои элементы управления и, например, выставить интерфейс для их изменения.

Также Color не существует, скорее всего, потому, что у вас нет надлежащего using в вашем другом классе.

Это не имеет никакого отношения к условиям (ссылки на условия, удаленные из исходного вопроса).

Смежные вопросы