C# 表格布局面板内的比例控制

C# 表格布局面板内的比例控制,c#,winforms,C#,Winforms,为什么tableLayoutPanel.Dock=DockStyle.Fill不工作且表格布局面板未填满表格中的所有可用空间 如何缩放button.Text=“button” 命名空间可伸缩性 { 静态类程序 { /// /// Главная точка входа для приложения. /// [状态线程] 静态void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderi

为什么
tableLayoutPanel.Dock=DockStyle.Fill不工作且
表格布局面板
未填满
表格
中的所有可用空间

如何缩放
button.Text=“button”

命名空间可伸缩性
{
静态类程序
{
/// 
/// Главная точка входа для приложения.
/// 
[状态线程]
静态void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
ViewForm ViewForm=新ViewForm();
Application.Run(viewForm);
}
}
}
命名空间可伸缩性.Forms
{
类视图窗体:窗体
{
公共视图表单()
{
TableLayoutPanel TableLayoutPanel=新建TableLayoutPanel();
按钮按钮=新按钮();
button.Text=“button”;
button.Dock=DockStyle.Fill;
标签=新标签();
label.Text=“label”;
label.Dock=DockStyle.Fill;
TextBox TextBox=新建TextBox();
textBox.Text=“textBox”;
textBox.Dock=DockStyle.Fill;
tableLayoutPanel.Controls.Add(按钮,0,0);
tableLayoutPanel.Controls.Add(标签0,1);
tableLayoutPanel.Controls.Add(文本框,1,0);
tableLayoutPanel.Dock=DockStyle.Fill;
this.Controls.Add(tableLayoutPanel);
}
}
}

配置
表格布局面板的
行样式
,使其伸展

TableLayoutPanel tableLayoutPanel = new TableLayoutPanel();
tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 50));

配置
表格布局面板的
行样式
,使其伸展

TableLayoutPanel tableLayoutPanel = new TableLayoutPanel();
tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
但它确实有效。:)

1) 尝试像这样将颜色附加到控件

Button button = new Button();
button.Text = "Button";
button.BackColor = Color.Orange;
button.Dock = DockStyle.Fill;

Label label = new Label();
label.Text = "Label";
label.BackColor = Color.Yellow;
label.Dock = DockStyle.Fill;

TextBox textBox = new TextBox();
textBox.Text = "textBox";
textBox.BackColor = Color.Green;
textBox.Dock = DockStyle.Fill;
现在,您将看到这些控件完全按照您放置它们的方式使用整个窗口。所以按钮是第0列第0行(左,上)。文本框为第1列第0行(右,顶部)。标签为第0列第1行(左下角)。第1列第1行中没有任何内容(右下角的“中心位置”为空)

如果将按钮添加到1,1,它将在剩余空间中拉伸。像这样

// Blue button.
Button bbutton = new Button();
bbutton.Text = "Button";
bbutton.BackColor = Color.Blue;
bbutton.Dock = DockStyle.Fill;

tableLayoutPanel.Controls.Add(button, 0, 0);
tableLayoutPanel.Controls.Add(label, 0, 1);
tableLayoutPanel.Controls.Add(textBox, 1, 0);
// We added this one.
tableLayoutPanel.Controls.Add(bbutton, 1, 1);
tableLayoutPanel.Dock = DockStyle.Fill;
所以你有了它。

但它确实有效。:)

1) 尝试像这样将颜色附加到控件

Button button = new Button();
button.Text = "Button";
button.BackColor = Color.Orange;
button.Dock = DockStyle.Fill;

Label label = new Label();
label.Text = "Label";
label.BackColor = Color.Yellow;
label.Dock = DockStyle.Fill;

TextBox textBox = new TextBox();
textBox.Text = "textBox";
textBox.BackColor = Color.Green;
textBox.Dock = DockStyle.Fill;
现在,您将看到这些控件完全按照您放置它们的方式使用整个窗口。所以按钮是第0列第0行(左,上)。文本框为第1列第0行(右,顶部)。标签为第0列第1行(左下角)。第1列第1行中没有任何内容(右下角的“中心位置”为空)

如果将按钮添加到1,1,它将在剩余空间中拉伸。像这样

// Blue button.
Button bbutton = new Button();
bbutton.Text = "Button";
bbutton.BackColor = Color.Blue;
bbutton.Dock = DockStyle.Fill;

tableLayoutPanel.Controls.Add(button, 0, 0);
tableLayoutPanel.Controls.Add(label, 0, 1);
tableLayoutPanel.Controls.Add(textBox, 1, 0);
// We added this one.
tableLayoutPanel.Controls.Add(bbutton, 1, 1);
tableLayoutPanel.Dock = DockStyle.Fill;

你知道了。

你怀疑你的代码吗?尝试在designer中生成表单,如果它的行为正确-将代码与在
InitializeComponents()
中生成的代码进行比较。否则我们需要一张图片来看看什么“不起作用”。你怀疑你的代码吗?尝试在designer中生成表单,如果它的行为正确-将代码与在
InitializeComponents()
中生成的代码进行比较。否则我们需要一张图片来看看什么“不起作用”。