Я добавил tableLayoutPanel в свой пользовательский элемент управления.размер столбца в таблицеLayoutPanel постоянно меняется в дизайнере
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 должен занимать остальную часть пространства.
Когда я изначально создаю элемент управления, все выглядит нормально. Я вернусь к кодированию какой-либо другой области моей программы, не является чем-то, и в какой-то момент плохо вернется к дизайнеру, где моя таблицаLayoutPanel, и четвертый столбец будет больше, чем раньше. Поэтому мне нужно открыть редактор столбцов и строк и изменить размер столбца на 25. Для того, чтобы получить эти настройки, вы должны вернуться к 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;
Не удалось воспроизвести его. Пожалуйста, напишите какой-нибудь код. – LarsTech
Я все сделал в дизайнере, и это может произойти без меня, даже запустив мой код. Поэтому я могу опубликовать свой код дизайнера. В качестве теста я отправился к конструктору форм, набрав некоторую болтовню и удалив его, вернулся к дизайнеру и увидел, что он немного больше ... снова! – hrh