首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TableLayoutPanel中的缩放控制

TableLayoutPanel中的缩放控制
EN

Stack Overflow用户
提问于 2016-05-31 22:34:55
回答 2查看 28关注 0票数 1

为什么tableLayoutPanel.Dock = DockStyle.Fill;不起作用,tableLayoutPanel不能填满Form中的所有可用空间

如何扩展button.Text = "Button";

代码语言:javascript
复制
namespace Scalability
{
    static class Program
    {
        /// <summary>
        /// Главная точка входа для приложения.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            ViewForm viewForm = new ViewForm();
            Application.Run(viewForm);
        }
    }
}

namespace Scalability.Forms
{
    class ViewForm:Form
    {
        public ViewForm()
        {
            TableLayoutPanel tableLayoutPanel = new TableLayoutPanel();
            Button button = new Button();
            button.Text = "Button";
            button.Dock = DockStyle.Fill;

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

            TextBox textBox = new TextBox();
            textBox.Text = "textBox";
            textBox.Dock = DockStyle.Fill;

            tableLayoutPanel.Controls.Add(button, 0, 0);
            tableLayoutPanel.Controls.Add(label, 0, 1);
            tableLayoutPanel.Controls.Add(textBox, 1, 0);
            tableLayoutPanel.Dock = DockStyle.Fill;

            this.Controls.Add(tableLayoutPanel);
        }
    }
}
EN

回答 2

Stack Overflow用户

发布于 2016-05-31 22:43:42

配置TableLayoutPanelRowStyles,使其伸展

代码语言:javascript
复制
TableLayoutPanel tableLayoutPanel = new TableLayoutPanel();
tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
票数 0
EN

Stack Overflow用户

发布于 2016-05-31 23:20:25

但它确实起作用了。:)

1)尝试将颜色附加到控件,如下所示。

代码语言:javascript
复制
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,它将在剩余的空间中伸展。像这样

代码语言:javascript
复制
// 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;

现在你就知道了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37548609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档