为什么TableLayoutPanel把它的子控件以相反的顺序
本文关键字:顺序 控件 TableLayoutPanel 为什么 | 更新日期: 2023-09-27 17:50:38
这个问题不会发生在所有实例中,但这个代码块:
this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tableLayoutPanel1.ColumnCount = 2;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 60.99398F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 39.00602F));
this.tableLayoutPanel1.Controls.Add(this.pbxInspectionDisplay, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.gbxEggInput, 0, 0);
this.tableLayoutPanel1.Location = new System.Drawing.Point(10, 57);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 1;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(1182, 570);
this.tableLayoutPanel1.TabIndex = 28;
在表格布局中,pbxInspectionDisplay出乎意料地位于右侧,而gbxEggInput位于左侧。如果我将上面的相应部分替换为以下代码
this.tableLayoutPanel1.Controls.Add(this.gbxEggInput, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.pbxInspectionDisplay, 0, 0);
它们以正确的顺序排列(pbxInspectionDisplay在左边,gbxEggInput在右边)。正如我所说,在其他代码块中,第一个控件位于左侧,第二个控件位于右侧。所以我试图理解是什么造成了差异。有人能解释一下为什么会这样吗?
我相信您希望指定要在其中添加控件的列。像这样:
this.tableLayoutPanel1.Controls.Add(this.pbxInspectionDisplay, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.gbxEggInput, 1, 0);