2013-03-22 3 views
0

мне нужно, чтобы иметь контроль, который обеспечивает следующую функциональность:Есть проблемы с вставкой для TableLayoutControl

  • первых N строк содержит некоторую информацию и кнопку, чтобы удалить себя
  • Последняя строка содержит кнопку добавить. Добавленные новые строки должны быть вставлены перед строкой с кнопкой добавления.

Но у меня есть некоторые проблемы с вставкой. Иногда он вставляет правильно, но часто это не так.

tableLayoutPanel1.SuspendLayout(); 
tableLayoutPanel1.RowCount++; 
tableLayoutPanel1.RowStyles.Insert(tableLayoutPanel1.RowCount - 1, new RowStyle(SizeType.AutoSize)); 
var control = CreateControl(); 

tableLayoutPanel1.Controls.Add(control,0,tableLayoutPanel1.RowCount - 1); 
tableLayoutPanel1.ResumeLayout(); 

Что я сделал не так?

Пример ошибки: enter image description here

+0

http://grabilla.com/03316-3506bf4c-f111-4083- a2c1-115418b75216.png некоторый образец – Max

ответ

0

Предполагая, что объект Добавить кнопка называется btnAdd, я думаю, что это должно работать -

tableLayoutPanel1.SuspendLayout(); 

tableLayoutPanel1.RowCount++; 
tableLayoutPanel1.RowStyles.Insert(tableLayoutPanel1.RowCount - 1, new RowStyle(SizeType.AutoSize)); 

tableLayoutPanel1.SetRow(btnAdd, tableLayoutPanel1.RowCount - 1); 

var control = CreateControl(); 
tableLayoutPanel1.Controls.Add(control, 0, tableLayoutPanel1.RowCount - 2); 
tableLayoutPanel1.ResumeLayout(); 
Смежные вопросы