在TableLayout中隐藏一行

Tom*_*ica 2 .net c# tablelayoutpanel

我有一个包含三行和一列的表格布局:

在此输入图像描述

我想要的是在进度完成之前隐藏第二行,如下所示:

在此输入图像描述

在互联网上,我发现了两件事:

  1. 删除行 - 我不想删除该行,只是暂时隐藏它!
  2. 将行高设置为0 - 不起作用,由于某种原因,部分内部数据仍然可见.

那么我该如何真正隐藏这一行呢.不删除,不调整大小但实际上将其隐藏起来.

dan*_*ish 8

隐藏和显示行中的行TableLayoutPanel并不是很简单.

根据您的UI模拟,我假设第一行和第三行设置为Absolute第二行是AutoSizePercent.我也假设Dock面板设置为Fill.现在,我将在这个场景中做些什么.

最后添加一个空行,SizeType设置为AutoSize.当用户操作开始时(例如单击按钮),执行以下操作:

// RowStyles index is index of the row you are dealing with
tableLayoutPanel1.RowStyles[1].SizeType = SizeType.Absolute;
tableLayoutPanel1.RowStyles[1].Height = 0;
Run Code Online (Sandbox Code Playgroud)

由于最后有一个自动调整大小的行,所有其他行都会向上移动,而您的表单底部会有空白空间.这将保留您想要的布局.操作完成后,您可以将有问题的行设置回PercentAutoSize.