如何更改表单内容?

时间:2012-02-08 12:03:38

标签: .net vb.net

我有一个主要表单,我想通过按一些按钮动态更改它的内容。 假设我有一个按钮“新用户”和“登录”,如果我按新用户,我不想创建新表单+显示,我希望新用户的所有标签和按钮都显示在主要形成。如果我按登录,主表单内容将更改为一些标签和文本框? 这仅仅是例如。 我现在所能做的只是创建新表单并通过.Show()命令向用户显示。

3 个答案:

答案 0 :(得分:2)

假设您拥有客户,产品和供应商“窗口”。您不希望从它们创建单独的窗口,因此您可以将所有控件组合在组框中,并根据用户操作使它们可见/不可见。这会有效,但它会导致代码可读性和可维护性的问题:你为窗口内的很多控件编写了很多代码,毕竟只是一个类。

所以你可以这样做:创建一个名为usrCustomer或myCustomer或其他的用户控件,并将与客户相关的所有控件粘贴到其中:组框,标签,组合,一切。然后,您可以决定是否要在设计时将此大型控件添加到主窗体中,或者是否要在每次需要时在运行时创建它的新实例。如果将来你必须修改某些东西,你将转到一个单独的类(ctlCostumer),而不是必须在怪物主表格类中挖掘。

CAVEAT:如果这些控件在它们之间共享信息,你必须要小心,(如果产品mega-control需要知道来自Customer mega-control的东西)并用公共属性公开这些信息等。

答案 1 :(得分:0)

从设计角度来看,制作新表格要好得多。 或者,您可以创建一些新控件并隐藏/显示控件。 (或使visibile属性为true / false)

Label有一个text属性,您可以更改运行时间。

答案 2 :(得分:0)

如果您不想显示新表单,可以将与用户相关的所有控件(标签,文本框....)包装在容器中,例如simple Panel,然后隐藏/根据您的表单状态显示面板。