我正在创建多行文本框并将其放在表格布局面板中:
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)));
我在Textbox
中添加tableLayout
后,其宽度发生变化,其滚动隐藏在表格布局滚动条后面。我尝试了以下代码,但它不起作用:
tableLayoutPanel1.ColumnStyles[0].SizeType = SizeType.Percent;
tableLayoutPanel1.ColumnStyles[0].Width=80;
答案 0 :(得分:0)
设置锚点时,让表格布局面板(TLP)规则为文本框的大小。要使文本框负责,您必须告诉TLP自动调整行和列。也就是说:文本框所在的行和列应该有SizeType
= SizeType.AutoSize
。
我必须承认,手动编写TLP是很困难的。在形成TLP和子控件之后,我有时会采用类似于动态发生的方式来窥探designer.cs文件。