Я добавил tableLayoutPanel в свой пользовательский элемент управления.
It is not docked or anchored.
It has 4 columns and 4 rows.
The items within each cell are docked fully within each cell.
Настройки размера столбцов следующие.
-Column 1 - Percent - 100%
-Column 2 - Absolute - 25
-Column 3 - Absolute - 35
-Column 4 - Absolute - 25
Насколько я понимаю, абсолютные значения всегда должны оставаться правильного размера, и тогда столбец 1 должен занимать остальное пространство.
Когда я изначально создаю элемент управления, все выглядит нормально. Я вернусь к кодированию какой-то другой области моей программы, не имеет значения, что, и в какой-то момент я вернусь к дизайнеру, где мой tableLayoutPanel и четвертый столбец будет больше, чем раньше. Поэтому мне нужно открыть редактор стилей столбцов и строк и изменить размер столбца обратно на 25.
Как я могу получить эти настройки, чтобы придерживаться? Это сводит меня с ума!
Как здесь и требуется, мой дизайнерский код.
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.Anchor = System.Windows.Forms.AnchorStyles.None;
this.tableLayoutPanel1.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.OutsetDouble;
this.tableLayoutPanel1.ColumnCount = 4;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 25F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 35F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 25F));
this.tableLayoutPanel1.Controls.Add(this.label8, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.btnStartingUp, 3, 3);
this.tableLayoutPanel1.Controls.Add(this.txtOffset, 2, 3);
this.tableLayoutPanel1.Controls.Add(this.btnDurationUp, 3, 2);
this.tableLayoutPanel1.Controls.Add(this.label10, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.btnFrequencyUp, 3, 1);
this.tableLayoutPanel1.Controls.Add(this.txtFrequency, 2, 1);
this.tableLayoutPanel1.Controls.Add(this.btnPowerUp, 3, 0);
this.tableLayoutPanel1.Controls.Add(this.label9, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.txtLaserPower, 2, 0);
this.tableLayoutPanel1.Controls.Add(this.label7, 0, 3);
this.tableLayoutPanel1.Controls.Add(this.btnPowerDown, 1, 0);
this.tableLayoutPanel1.Controls.Add(this.btnFrequencyDown, 1, 1);
this.tableLayoutPanel1.Controls.Add(this.btnDurationDown, 1, 2);
this.tableLayoutPanel1.Controls.Add(this.btnOffsetDown, 1, 3);
this.tableLayoutPanel1.Controls.Add(this.txtDuration, 2, 2);
this.tableLayoutPanel1.Location = new System.Drawing.Point(61, 610);
this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(0);
this.tableLayoutPanel1.MaximumSize = new System.Drawing.Size(208, 98);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 4;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 21F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 21F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 21F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 21F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(208, 98);
this.tableLayoutPanel1.TabIndex = 168;