如何使用其他类的UI表单控件?我想在另一个类中使用这些控件,然后将其调用到我的主窗体中。问题是我创建的新类似乎无法访问这些控件的标签或文本框,并且我一直收到错误。
我如何解决这个问题?
错误讯息:
由于其保护级别
,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 :(得分:0)
我认为First_Name_label是一个UI标签,它也必须可以从其他类访问。
也许制作一个setter方法将文本填入你的标签。
答案 1 :(得分:0)
我想说您必须将控件的修饰符属性设置为 Forms Designer 中的public
或internal
才能从另一个访问它类。 Control的实例默认受保护。
这是你问题的答案。另一件事是这不是最好的主意。您不应该直接访问表单之外的表单控件。表单类应该封装其控件并公开一个接口来更改它们,例如。
同样Color
并不存在,因为您在另一个班级中没有合适的using
。
它与条件无关(引用从原始问题中删除的条件)。