是否可以让 TabControl 以这种方式显示其 TabPages,而不会在两侧浪费屏幕空间?如果可能的话,我想避免涉及自己绘制控件的解决方案。
如果我正确理解了您的问题,并阅读了当前接受的答案,您想知道如何使 TabControl 的选项卡在整个控件中延伸而不会浪费空间,如下所示:

为此,请设置cTabControl.Dock = Fill,然后创建以下函数并在Form1_Shown()和Form1_Resize()或您创建的任何“Resize()”函数中调用它。
C#
void ResizeTabs()
{
int numTabs = cTabControl.TabCount;
float totLen = 0;
using(Graphics g = CreateGraphics())
{
// Get total length of the text of each Tab name
for(int i = 0; i < numTabs; i++)
totLen += g.MeasureString(cTabControl.TabPages[i].Text, cTabControl.Font).Width;
}
int newX = (int)((cTabControl.Width - totLen) / numTabs) / 2;
cTabControl.Padding = new Point(newX, cTabControl.Padding.Y);
}
VB
Sub ResizeTabs()
Dim numTabs As Integer = cTabControl.TabCount
Dim totLen As Decimal = 0
Using g As Graphics = CreateGraphics()
' Get total length of the text of each Tab name
For i As Integer = 0 To numTabs - 1
totLen += g.MeasureString(cTabControl.TabPages(i).Text, cTabControl.Font).Width
Next
End Using
Dim newX As Integer = ((cTabControl.Width - totLen) / numTabs) / 2
cTabControl.Padding = New Point(newX, cTabControl.Padding.Y)
End Sub