如果我的WinForms应用程序的用户调整了主窗体的大小,我希望2个面板也能随着子控件一起拉伸。TableLayoutPanel是您的理想选择(MSDN)。如果您只缩放面板,则Dock和Anchor是适当的。但是,由于您希望您的控件能够很好地缩放,因此您基本上处于自动布局世界中,并且很可能使用TableLayoutPanel。(顺便说一句,我非常喜欢这个,尽管过度使用可能会对布置控件的性能产生负面影响。)一些有关使用它配置可伸缩布局的有用链接:AutoLayout By Examples,WinForms AutoLayout Basics: TableLayoutPanel,Video Training on TableLayoutPanel。
您可以使用TableLayoutPanel并设置每个列的宽度为x%,这样您就可以将屏幕分为两部分。 TableLayoutPanel必须Dock以填充整个窗体或锚定。TableLayoutPanel中可以包含其他面板。或者,您可以仅使用自己的面板并使用Anchor(单击面板,进入VS的属性面板)。