我有一个主窗体,我想通过按下一些按钮来动态更改它的内容。 比方说,我有一个按钮“新用户”和“登录”,如果我按新用户,我不想新的表单+显示,我希望新用户的所有标签和按钮显示在右侧主要形式。如果我按登录,主窗体内容更改为一些标签和文本框? 这仅仅是一个例子。 我现在所能做的只是通过.Show()
命令创建新表单并将其显示给用户。如何更改表单内容?
回答
比方说,你有客户,产品和供应商“窗口”。您不想与它们分离窗口,因此您可以将所有控件分组到groupboxes中,并根据用户操作使其可见/不可见。这会起作用,但会导致代码可读性和可维护性的问题:您为窗口内的许多控件编写了大量代码,毕竟只有一个类。
所以你可以这样做:创建一个名为usrCustomer或myCustomer的用户控件或者其他东西,并粘贴到与Customer有关的所有控件:groupbox,labels,combos,everything。然后,您可以决定是否要在设计时将这个超级控件添加到主窗体中,或者如果您希望在每次需要时在运行时创建它的新实例。如果将来你必须修改某些东西,你将会去一个单独的类(ctlCostumer),而不是在怪物主表单类中挖掘。
CAVEAT:如果这些控件在它们之间共享信息(如果产品超级控件需要知道客户超级控件中的某些内容)并将该信息公开给公共属性等,则必须小心。
非常感谢,我的朋友。 – Devfly 2012-02-08 13:23:56
从设计的角度来看,制作新的表格会好很多。 或者,您可以创建一些新的控件并隐藏/显示控件。 (或使可见光属性为真/假)
标签具有文本属性,您可以更改运行时间。
这不能回答我的问题。我有很多按钮文本框和标签。如果我显示/隐藏它们将会很糟糕。我敢肯定,有很多方案都有。 – Devfly 2012-02-08 12:13:39
创建不同的父面板。在面板上放置不同的控制组。显示/隐藏面板? – 2012-02-08 15:00:19
从可维护性/可读性。将控件分成逻辑集。每一组都可以指示你的程序的不同状态.. – 2012-02-08 15:02:40
如果您不想显示新表单,可以将与用户相关的所有控件(标签,文本框....)包装在容器中,例如simple Panel,然后隐藏/显示面板取决于你的表单状态。
是的,我想到了。会尝试! – Devfly 2012-02-08 12:49:03
- 1. 表单的No-mobile更改内容列
- 2. Mootools表单提交和内容更改
- 3. 如何用ajax修改表单内容?
- 4. 更改单身内容
- 5. 如何更改InfoBox内容?
- 6. 如何更改iframe内容?
- 7. 如何更改SpannableString内容?
- 8. 如何订购表格,更改的内容以及将要更改的内容?
- 9. 如果表内容更改,更新RowSet?
- 10. 如何更改表单提交后的页面内容ASP.net C#
- 11. 使用输入表单更改表格的单元格内容
- 12. 如何更改div内div的内容?
- 13. 更改内容
- 14. 简单的内容更改。上一页 - 下一页更改内容
- 15. 单击时更改按钮的内容?
- 16. winforms gridview单元格内容已更改
- 17. 如何更改div的内容
- 18. 如何动态更改JLabel的内容
- 19. 如何动态更改td内容?
- 20. 如何实时更改TextView的内容
- 21. 网站如何每天更改内容?
- 22. 如何更改点击中的内容?
- 23. 如何更改GLSurfaceView的内容视图?
- 24. 如何更改短内容中的位
- 25. 如何更改PHP中的div内容?
- 26. 如何动态更改div内容?
- 27. 如何更改UIPickerView说的内容?
- 28. 如何更改jquery mobile中的内容?
- 29. 如何更改内容的DB位置
- 30. 如何更改tabhost的内容?
请澄清哪个VB版本(VB6,VB.NET)并相应标记 - 标记'basic'不会给你许多好的答案。 – Filburt 2012-02-08 12:11:22