改变tableLayout面板内的控件宽度

本文关键字:控件 tableLayout 改变 | 更新日期: 2023-09-27 18:16:37

我正在创建多行文本框,并将其放在表格布局面板中:

tableLayoutPanel1.RowStyles.Clear();
tableLayoutPanel1.ColumnStyles.Clear();
tableLayoutPanel1.AutoScroll = true;
tableLayoutPanel1.GrowStyle = TableLayoutPanelGrowStyle.AddRows;
textbox1.Width = tableLayoutPanel1.Width - 100;
textbox1.Height = 150;
textbox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right)));

只要我在tableLayout中添加Textbox,它的宽度就会改变,它的滚动条隐藏在表格布局滚动条后面。我尝试了下面的代码,但它不起作用:

tableLayoutPanel1.ColumnStyles[0].SizeType = SizeType.Percent;
tableLayoutPanel1.ColumnStyles[0].Width=80;

改变tableLayout面板内的控件宽度

设置锚点时,让表布局面板(TLP)决定文本框的大小。要让文本框负责,您必须告诉TLP自动调整行和列的大小。即:文本框所在的行和列应该具有SizeType = SizeType.AutoSize

我必须承认,手工编写TLP是很困难的。我有时会在创建TLP和子控件之后查看designer.cs文件,类似于将要动态发生的事情。