Как при выборе из меню элемента менять расположение элементов формы

У меня на форме есть элементы label, textbox, button и меню с выбором языка. И нужно чтобы при выборе немецкого языка элементы выстраивались в вертикаль, а при выборе остальных в горизонталь.

Пробовала менять положения при выполнении события напрямую, то есть прям прописывать координаты, но это не удобно.


Ответы (1 шт):

Автор решения: Uranus

Для динамического изменения расположения элементов проще использовать контейнеры, такие как FlowLayoutPanel или TableLayoutPanel. Они автоматически управляют расположением элементов и позволяют изменить ориентацию компоновки с горизонтальной на вертикальную и обратно, не меняя вручную координаты элементов.

Вот как можно это реализовать с помощью FlowLayoutPanel:

private void SetLanguage(string languageCode)
{
    // Изменяем расположение элементов в зависимости от языка
    if (languageCode == "de") // Немецкий язык
    {
        layoutPanel.FlowDirection = FlowDirection.TopDown; // Вертикальное расположение
    }
    else // Другие языки
    {
        layoutPanel.FlowDirection = FlowDirection.LeftToRight; // Горизонтальное расположение
    }
}
→ Ссылка