Я разработал WinForm в vb.NET с VS2017. Теперь я хотел бы добавить функцию, с помощью которой форма имеет два размера - обычный размер, который она изначально загружает, а также больший размер, который запускается, когда пользователь нажимает кнопку максимизации в форме. Если возможно, я не хочу, чтобы форма изменяла размеры, если пользователь перетаскивает ее стороны и т. Д., Я только хочу, чтобы она работала, если они нажимают кнопку «Развернуть».
Сама форма выглядит так, как показано на рисунке, она состоит из Panel, которая всегда будет привязана к вершине, и TabControl, который будет увеличиваться, если окно развернуто. TabControl состоит из 6 TabPages, на каждой из которых есть групповые блоки и панели, а на каждой групповой панели / панели есть несколько меток и текстовых блоков. Когда он увеличивается, я бы хотел, чтобы размер надписей и текстовых полей увеличивался до того же процента, что и у TabControl, - в основном все в TabControl увеличивается на тот же процент

Возможное решение, о котором я думаю, это захват максимизированного и «нормального размера» состояний формы (нормальный размер, запускаемый во время загрузки и если пользователь нажимает, чтобы максимизировать максимизированную форму), а затем цикл по каждому элементу управления на каждой вкладке страницы и настройку стиля каждого элемента управления в соответствии с желаемым макетом большего размера.
Мне удалось зафиксировать развернутые и развернутые события следующим образом:
Private Sub Form1_Resize(sender As Object, e As EventArgs) Handles Me.Resize
If Me.WindowState = FormWindowState.Maximized Then
Console.WriteLine("I have been maximised")
End If
If Me.WindowState = FormWindowState.Normal Then
Console.WriteLine("I have been minimised")
End If
End Sub
Я попытался установить стиль привязки для каждого элемента управления, кроме TabControl, на «Top, Bottom, Right, Left», а затем в вышеупомянутой подпрограмме, установив TabControl AncorStyle на «Top, Bottom, Right, Left», но я было две проблемы с этим:
1) Следующий код не работал правильно, чтобы установить для AnchorStyle значение «Top, Bottom, Right, Left»
TabControl1.Anchor = AnchorStyles.Top Or AnchorStyles.Bottom Or AnchorStyles.Left Or AnchorStyles.Right
Следующее также не удалось:
TabControl1.Anchor = AnchorStyles.Top And AnchorStyles.Bottom And AnchorStyles.Left And AnchorStyles.Right
2) Когда я вручную устанавливаю для AnchorStyle TabControl значение «Вверху, внизу, влево, вправо» в конструкторе и нажимаю кнопку «Развернуть» при запуске формы, форма расширяется нежелательным образом, когда ящики группы на перекрытие TabPage, текст не меняет свой размер в метках и т. д .:

Любая помощь по этому вопросу будет принята с благодарностью