if (currentRow >= visibleRows || currentColumn >= visibleColumns)
{
int newRow = 0;
int newColumn = 0;
while (newRow = visibleColumns)
{
newColumn = 0;
newRow++;
}
}
tableLayoutPanel1.SetRow(control, newRow);
tableLayoutPanel1.SetColumn(control, newColumn);
}
winforms c# Этот код меняет положение объектов в ячейках, но не так, как мне надо.
Выстраиваемые объекты должны перестраиваться все, а не только те, которые стали видимые , что бы они были по порядку. Так же, этот код тормозит программу, оптимизируй.
csharp
int newRow = 0;
int newColumn = 0;
for (int row = 0; row < visibleRows; row++)
{
for (int column = 0; column < visibleColumns; column++)
{
if (currentRow > row || currentColumn > column)
{
newRow = row;
newColumn = column;
}
}
}
tableLayoutPanel1.SetRow(control, newRow);
tableLayoutPanel1.SetColumn(control, newColumn);
В данном оптимизированном коде используются два цикла for для перебора всех значений строк и столбцов таблицы tableLayoutPanel1. Если текущая строка или столбец control больше значения row или column в текущей итерации циклов, то обновляются значения newRow и newColumn. В конце кода, задается новое положение объекта control в таблице по полученным значениям newRow и newColumn.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет