我有一个带有选项卡控件的表单。
我希望每个选项卡都有自己的界面和自己的大小,以便我可以根据需要进行按钮布局。
在这个例子中,我只是改变高度。
目前,我设置了默认表单高度和默认选项卡高度(由选项卡索引 0 设置)。
我需要一种编程方式来单独设置每个选项卡的高度,并且在 event 上selectedIndexChanged
,我可以根据需要相对于当前选定的选项卡调整表单的大小,但我不知道如何单独更改每个选项卡的高度。
我怎样才能做到这一点?
我有一个带有选项卡控件的表单。
我希望每个选项卡都有自己的界面和自己的大小,以便我可以根据需要进行按钮布局。
在这个例子中,我只是改变高度。
目前,我设置了默认表单高度和默认选项卡高度(由选项卡索引 0 设置)。
我需要一种编程方式来单独设置每个选项卡的高度,并且在 event 上selectedIndexChanged
,我可以根据需要相对于当前选定的选项卡调整表单的大小,但我不知道如何单独更改每个选项卡的高度。
我怎样才能做到这一点?
听起来您谈论的更多是基于所选选项卡的表单高度,而不是每个单独选项卡项的高度。
假设 TabControl 在父窗体上为 Dock-Filled,您可以尝试使用以下代码根据 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 实现。