如何在函数内传递控件

时间:2010-10-02 14:30:53

标签: c# winforms

大家好 我有一个问题,我想要我的窗口窗体上的那么多控件(LAbel,文本框)我怎么能禁用所有控制当我的表单加载到一个一个被捕并做Visibilty假是非常烦恼我和之后,我想通过控制功能内部并设置其宽度和高度我能否实现它。

我使用下面的功能但它无法设置高度和重量 我的全部LAbel和Textboxe采用默认值

提前致谢

shashank tyagi

 public void Setlabel(Control ctl2)
    {
        Control lbl = (Control)ctl2;
        lbl.Visible = Visible;
        lbl.Size=new Size(123,123);
        lbl.Height = 40;
        //lbl.PreferredSize = new Size(100, 100);

    }

1 个答案:

答案 0 :(得分:1)

如果要为控件组设置可见性,可以将它们放在同一个Panel控件中,然后只需更改该面板的Visible属性即可。

至于问题的其他部分,您提供的代码应该有效,但是如果在合适的时间调用。您必须意识到您的控件的宽度或高度不能大于该控件所在的容器。例如,如果你在构造函数中调用了这个函数,它将无法工作,因为你的表单还没有调整自身的大小,而且控件的大小也足够小。相反,您应该在表单的Load事件上调用此函数(假设您的控件的所有容器都已在那时加载)或者在表单的Resize事件中调用此函数(但要小心这个函数)因为它也会在用户调整窗口大小后执行。) 当然,您还可以确保所有控件都足够大,以便控件在调整大小之前调整大小。