C# winform 实现隐藏布局和显示布局
C# winform 实现隐藏布局和显示布局
今天写代码时,提出一个需求,点击按钮的时候,显示隐藏的控件,再次点击,继续隐藏控件。
思路是,用 TableLayout 的百分比布局来实现。
我的是一列三行的布局,隐藏第二个布局,剩余两个布局自动按照百分比填充
private void HideSecondRow()
{
// 隐藏第二行并重新分配百分比
tableLayoutPanel2.RowStyles[1].SizeType = SizeType.Absolute;
tableLayoutPanel2.RowStyles[1].Height = 0;
// 重新分配第一行和第三行的百分比
tableLayoutPanel2.RowStyles[0].SizeType = SizeType.Percent;
tableLayoutPanel2.RowStyles[0].Height = 30f;
tableLayoutPanel2.RowStyles[2].SizeType = SizeType.Percent;
tableLayoutPanel2.RowStyles[2].Height = 70f;
// 隐藏第二行中的控件
panel4.Visible = false;
// 强制刷新布局
tableLayoutPanel2.PerformLayout();
}
private void ShowSecondRow()
{
// 恢复第二行
tableLayoutPanel2.RowStyles[1].SizeType = SizeType.Percent;
tableLayoutPanel2.RowStyles[1].Height = 30f;
// 恢复原来的百分比分配
tableLayoutPanel2.RowStyles[0].SizeType = SizeType.Percent;
tableLayoutPanel2.RowStyles[0].Height = 30f;
tableLayoutPanel2.RowStyles[2].SizeType = SizeType.Percent;
tableLayoutPanel2.RowStyles[2].Height = 40f;
// 显示第二行中的控件
panel4.Visible = true;
// 强制刷新布局
tableLayoutPanel2.PerformLayout();
}
// 点击显示
private void high_setting_btn_Click(object sender, EventArgs e)
{
ShowSecondRow();
}
// 退出保存
private void exit_camera_btn_Click(object sender, EventArgs e)
{
HideSecondRow();
}
本文来自博客园,作者:杰西卡若,转载请注明原文链接:https://www.cnblogs.com/jiexiekaruo/p/19214114

浙公网安备 33010602011771号