使用Form.Controls修改控件

时间:2008-11-18 08:28:22

标签: .net c++ winforms

我将表单的引用传递给了一个类。在这个课程中,我相信我可以使用formRef->Controls["controlName"]来访问控件上的属性。

这适用于一些标签,但是在按钮上我收到“未设置为对象实例的对象引用”。当我尝试更改Text属性时。

帮助或解释赞赏...

3 个答案:

答案 0 :(得分:1)

这表明找不到具有给定名称的控件。

不要忘记控件的名称不一定与设计器中的ID相同。检查实际名称与您正在使用的名称进行查找。

答案 1 :(得分:0)

我这样做了,而且它正在发挥作用。可能更安全,因为我可以检查控件是否确实存在...

array<Control^>^ id = myForm->Controls->Find("myButton", true);
id[0]->Text = "new text";

我认为它打破的原因是该按钮位于另一个面板上。当我发布时,我没有想到这一点。新解决方案也会搜索所有孩子,所以这是一个改进。

答案 2 :(得分:0)

您可以随时尝试静态表单; D