这个问题有点微不足道,但我似乎无法找到任何标准解决方案。
我有一个表单,根据用户权限我显示或隐藏按钮+文本框。现在发生的是:
这是用户有权查看/使用此功能的情况。当他没有:
它不可见 - 这是一个简单的部分,但从我发现的情况来看,只有FlowLayoutPanel
提供了自动功能来隐藏这个空白区域而我的情况并非如此。
答案 0 :(得分:3)
为标签和文本框设置Dock
属性为Top
。这样,当按钮和文本框消失时,布局系统将自动向上移动它们。
答案 1 :(得分:0)
这取决于这是您问题的简化版本。如果它只是您描述的内容,那么无论何时检查权限/隐藏相关控件,您都可以使用其Top属性重新定位其他控件。
答案 2 :(得分:0)
将控件包装在div
中,并防止它们浮动。 float:none
。然后,通过将div
显示设置为无div
display:none
及其内容隐藏在内部
答案 3 :(得分:0)
非常简单,只需将控件的位置更改为隐藏控件的位置 并在不隐藏隐藏控件的情况下将其重新放置到原始位置。
btn.location=new point(x,y)
其中 x , y 是在winforms中显示的隐藏控件的坐标。