Как при выборе из меню элемента менять расположение элементов формы
У меня на форме есть элементы label, textbox, button и меню с выбором языка. И нужно чтобы при выборе немецкого языка элементы выстраивались в вертикаль, а при выборе остальных в горизонталь.
Пробовала менять положения при выполнении события напрямую, то есть прям прописывать координаты, но это не удобно.
Ответы (1 шт):
Для динамического изменения расположения элементов проще использовать контейнеры, такие как FlowLayoutPanel
или TableLayoutPanel
. Они автоматически управляют расположением элементов и позволяют изменить ориентацию компоновки с горизонтальной на вертикальную и обратно, не меняя вручную координаты элементов.
Вот как можно это реализовать с помощью FlowLayoutPanel
:
private void SetLanguage(string languageCode)
{
// Изменяем расположение элементов в зависимости от языка
if (languageCode == "de") // Немецкий язык
{
layoutPanel.FlowDirection = FlowDirection.TopDown; // Вертикальное расположение
}
else // Другие языки
{
layoutPanel.FlowDirection = FlowDirection.LeftToRight; // Горизонтальное расположение
}
}