[英]VB.Net: How do I change the Location of a group box
我的表格中有各种分组框。 此表格用于显示我系统中各种不同站点的数据。
其中一些站有与之关联的 PLC 位,因此有必要显示 PLC 组框。 其他人没有与之关联的任何 PLC 位,所以我想隐藏我的 PLC 位组框,并将所有其他组框推到顶部,这样表格中间就没有巨大的空白空间。
这是它通常的样子。
现在对于我的其他没有 PLC 位的工作站,它看起来像这样。
所以目标是,当我有一个没有 PLC 位的工作站时,隐藏 PLC 位组框 (gbBits) 和具有“显示位号”(Panel3) 复选框的组框。
然后将我的“路线中的案例......”组框(gb_Stand)推到PLC位之一的位置。
这是我这样做的代码。
'''
gbBits.Enabled = False
gbBits.Visible = False
Panel3.Enabled = False
Panel3.Visible = False
gb_Stand.Location = gbBits.Location
'''
我的表单现在看起来位置从未更新,但我想隐藏的组框被隐藏了。
当我单步执行我的代码时,该位置甚至根本没有更新!
我一定是错误地调用了这个位置更改,或者我需要某种刷新。
更新:gb_Stand 未锁定,这不是问题。
好的,我明白了,结果所有这些组框都是 TableLayoutPanel object 的一部分(我的同事喜欢这些东西,其他人都讨厌它们哈哈)。
无法移动组框的位置,因为位置取决于它在 TableLayoutPanel object 中的位置。
为了解决这个问题,我删除了我想从 TableLayoutPanel 中移动的所有内容,然后将我的 gb_stand 组框重新添加到 gbBits 所在的位置(第 3 行)。 调整了我的 TableLayoutPanel object 的大小,一切看起来都完全符合我的要求。
'''
TableLayoutPanel1.Controls.Remove(Me.gbBits)
TableLayoutPanel1.Controls.Remove(Me.Panel3)
TableLayoutPanel1.Controls.Remove(Me.gb_Stand)
TableLayoutPanel1.Controls.Add(Me.gb_Stand, 0, 3)
TableLayoutPanel1.RowCount = 3
'''
感谢@AndrewMortimer,您的评论和故障排除任务是引导我走向正确方向的原因!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.