我需要知道,除了在我的“Form1”类中,我如何访问标签或按钮。
我的问题:
我通过设计查看器创建了标签,按钮等示例。现在我可以访问了
他们在我的Form1类中。 (testlabel.Enabled == true
)只是举例。
我不能做的事:访问另一个班级的标签,按钮!让我们说吧 我有一个班级“二等”,我想在那里有一个方法,那就改变了
标签的属性`testlabel.Enabled == false`
这是不可能的,因为在那个“二等”中它是不可见的。
那么,是否有一个明显的简单解决方案可以在其他类中访问这些控件?
答案 0 :(得分:2)
默认情况下会创建表单类中的每个控件,其属性Modifiers
设置为Private
如果将其更改为Public
,则可以从另一个类访问控件实例。
然而,这确实是一个不好的做法。弄乱控制的可见性是危险的,可能导致非常复杂的错误解决。
如果您确实需要在表单类中更改某些内容,请提供一个公共方法并调用此方法来更改目标表单的内部功能
答案 1 :(得分:2)
在该(第二类)中创建一个方法,该方法将该组件(Label
或Button
或您想要修改的任何内容)作为该方法的参数。
public void disableLabel(Label inputLabel)
{
inputLabel.Enabled == false
}
创建一个类似上面的方法。
现在在form1类中,您只需要调用该方法并将Label
传递给该方法Disable
。
SecondClass objSecondClass = new SecondClass();
objSecondClass.disableLabel(testlabel);