使用 WinForms 在 C# 中以编程方式单独调整选项卡大小
本文关键字:调整 选项 方式单 编程 WinForms 使用 | 更新日期: 2023-09-27 18:35:45
>我有一个带有选项卡控件的窗体。
我希望每个选项卡都有自己的界面和自己的大小,以便我可以根据需要进行按钮布局。
在这个例子中,我只是在改变身高。
目前,我设置了默认表单高度和默认选项卡高度(由选项卡索引 0 设置)。
我需要一种编程的方式来单独设置每个选项卡的高度,并且在事件selectedIndexChanged
,我可以根据需要相对于当前选定的选项卡调整表单大小,但我不知道如何单独更改每个选项卡的高度。
我怎样才能做到这一点?
听起来您更多地谈论基于所选选项卡的表单高度,而不是每个选项卡项的高度。
假设 TabControl 在父窗体上是停靠填充的,则可以尝试使用此代码根据 TabPage 的内容调整窗体的高度:
void tabControl1_SelectedIndexChanged(object sender, EventArgs e) {
var controls = tabControl1.SelectedTab.Controls.Cast<Control>();
if (controls.Any()) {
this.Height = controls.Max(x => x.Bottom) + 72;
}
}
该例程在 TabPage 上查找基于最低的控件,然后添加一个模糊编号 72,以说明窗体的非工作区的高度和其他杂项间距问题。
但请注意,根据选项卡选择不断更改表单的高度可能会让最终用户有点不和谐,并且可能不被视为流行的 UX 实现。