这个问题有点微不足道,但我似乎找不到任何标准解决方案。
我有一个表单,根据用户权限显示或隐藏按钮+文本框。现在发生的事情是这样的:
这是用户有权查看/使用它的时候。当他不这样做时:
它不可见 - 简单的部分,但据我发现,只有FlowLayoutPanel
提供自动功能来隐藏这个空白空间,而我的情况并非如此。
将标签和文本框的Dock
属性设置为。Top
这样,当按钮和文本框消失时,布局系统会自动将它们向上移动。
这取决于这是否是您问题的简化版本。如果它只是您所描述的,那么每当您检查权限/隐藏相关控件时,您都可以使用它们的 Top 属性重新定位其他控件。
将控件包装在 a 中div
并将浮动设置为float:none
。然后,通过将display 设置为 none 来隐藏div
及其内容。例如;div
display:none
<div style="display:none;float:none">
content to hide begin here
</div>
嗯,很简单,只要把那个控件的位置改成隐藏控件的位置,在不隐藏隐藏控件的时候重新定位到原来的位置。
btn.location=new point(x,y)
其中x , y是 winforms 中显示的隐藏控件的坐标。