C#以编程方式定位面板以填充父窗体(WinForm)的三分之一
我有一个带有面板和RichTextBox的表单。面板为Dock.Top,RTB为Dock.Bottom。初始化之后。 我希望定位面板,使其占据表格的顶部1/3,RTB占据表格的剩余底部 但是,下面给出的代码不起作用C#以编程方式定位面板以填充父窗体(WinForm)的三分之一,c#,winforms,layout,position,C#,Winforms,Layout,Position,我有一个带有面板和RichTextBox的表单。面板为Dock.Top,RTB为Dock.Bottom。初始化之后。 我希望定位面板,使其占据表格的顶部1/3,RTB占据表格的剩余底部 但是,下面给出的代码不起作用 public frmMain() { InitializeComponent(); panel1.Top = 0; panel1.Width = this.Width;
public frmMain()
{
InitializeComponent();
panel1.Top = 0;
panel1.Width = this.Width;
panel1.Height = this.Height / 3;
ConOut.Top = panel1.Height + 10;
ConOut.Width = this.Width;
}
问题
1) 上面的代码有什么问题,以至于它不能正确地定位窗体控件?我想您只需要添加
左侧的位置
panel1.Left = 0; // Sets top left corner position
完整的代码可以解决这个问题
InitializeComponent();
panel1.Top = 0;
panel1.Left = 0;
panel1.Width = this.Width;
panel1.Height = this.Height / 3;
ConOut.Left = 0;
ConOut.Top = this.Height / 3;
ConOut.Width = this.Width;
ConOut.Height = 2*this.Height / 3;
你能告诉我们你为什么要按程序做吗?(只是好奇)您可能会考虑使用TableLayoutPanel来定位面板和RTB。