У меня есть панель WinForms, которая содержит два элемента, например. этикетки.Выравнивание элементов управления ярлыками по-разному внутри панели в WinForms
Мне нужно выровнять их по горизонтали по-разному, скажем, Label1 должен быть выровнен по центру панели, а Label2 должен быть выровнен с правой стороны панели. Выравнивание должно сохраняться при изменении размера.
Какую панель я должен использовать? Панель? FlowLayoutPanel? Что-нибудь еще? Как установить свойства панели/меток для достижения вышеуказанного расположения?
Лучше поделиться изображением до изменения размера и изображения после изменения размера, тогда требование будет более понятным. Может быть, это просто некоторые настройки свойств с помощью «Anchor», может быть, вам нужен код обработки событий. –
Этикетка может сделать это сама по себе без помощи панели. Используйте свойство Anchor. Используйте Top + Right, чтобы он оставался выровненным вправо. Центр работает немного: используйте AutoSize = False, TextAlign = TopCenter, поместите метку в центр, Anchor = Left + Top + Right. –
@ Hans Passant: он работает почти так, как мне нужно. Ваша инструкция «разместить метку в центре» достаточно, только если изменение размера означает увеличение ширины. Для рабочего решения по уменьшению ширины «положение этикетки в центре» необходимо заменить на «растянуть ширину этикетки до краев закрывающей панели (и да, сделать растяжение правой стороны через метку2)». В последнем случае нужно также соблюдать порядок z, чтобы избежать скрытия метки2. – Feri