Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/47: Рейтинг темы: голосов - 47, средняя оценка - 4.53
18 / 17 / 3
Регистрация: 07.09.2015
Сообщений: 301

Изменения размера кнопки по изменению размера формы

10.12.2020, 05:40. Показов 9774. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, вопрос у меня собственно будет, как мне кажется тривиальный, но решения и ответа, я в интернете (вот уже час ковыряясь) не нашёл. Хотя вопрос кажется мне, действительно простым (в плане, почему, его никто не спросил ранее?).


Теперь по порядку:
У меня есть приложение на Windows Forms. В нём слева, я размещаю (с помощь дизайнера) 6 кнопок, последовательно снизу вверх (или сверху вниз, кому как больше нравится), одну за одной. Маленькое отступление, если что, для красоты они будут иметь параметр «FlatStyle» равный «Flat». Показал на рисунке.

И в чём собственно вопрос:
А теперь когда я меняю размеры формы (по вертикали и горизонтали), как сделать так, чтобы размеры (масштаб) кнопок менялся пропорционально изменению размеров формы?


Сразу:
Решения типа «Dock» и «Anchor», нужного результата не дали. Т.к. в первом случае, первая кнопка которую выбрал, тупо растягивается на всю высоту формы. А во втором случае, она сохраняет свои относительные координаты, но не растягивается, пропорционально форме.


Всё, что мне пока удалось, найти, это ролик на YouTube (на иностранном языке, немного понимаю, но сложно). Состоит он, аж из 6 частей, как видно из названия: «Automatic Resizing of Buttons in Windows Forms using C# _ Part6(Final)».
Каждый минут по 10. Неужели, это прям так, трудно реализовать?
Там в конце (6ой части), как раз, показано конкретно, что я хочу реализовать с кнопками.

Сам ролик:
Кликните здесь для просмотра всего текста


Не по теме:

Всем спасибо, за любые советы и подсказки!

Миниатюры
Изменения размера кнопки по изменению размера формы  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.12.2020, 05:40
Ответы с готовыми решениями:

Запрет изменения размера формы и элементов при изменении шрифта и его размера
Здравствуйте. К слову вопрос название темы. А именно как запретить изменять размер формы и элементов при изменении шрифта Изменить...

Изменение размера итема после изменения размера списка
Имеется вот такой ListView <ListView x:Name="lstRooms" Margin="10"> <Grid> ...

Запрет изменения размера формы
Собственно как сделать не считая указать min и max size?

3
 Аватар для Kyra90
232 / 153 / 85
Регистрация: 06.10.2020
Сообщений: 468
10.12.2020, 13:44
Попробуйте это, если что- допилите. Пример для 2-х кнопок

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
       public partial class Form1 : Form
       {   
          int width, height;
        
          public Form1()
          {
            InitializeComponent();
            width = Width;
            height = Height;
          }
     
         private void Form1_Resize(object sender, EventArgs e)
        {
            button1.Width += Width - width;
            button1.Height += Height - height;
 
            button2.Location = new Point((button2.Location.X), button1.Location.Y+ button1.Height);
            button2.Width += Width - width;
            button2.Height += Height - height;
 
 
            width = Width;
            height = Height;
        }
Миниатюры
Изменения размера кнопки по изменению размера формы  
1
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
10.12.2020, 15:28
Лучший ответ Сообщение было отмечено Schumacher57 как решение

Решение

нужно использовать контейнер TableLayoutPanel.
У контейнера Dock = Left, у каждой строки высота в процентах, у кнопок Dock = Fill
См. проект во вложении.
Вложения
Тип файла: zip AutoResize.zip (10.1 Кб, 123 просмотров)
1
18 / 17 / 3
Регистрация: 07.09.2015
Сообщений: 301
10.12.2020, 16:03  [ТС]
ViterAlex, Просто не знаю, как даже описать, на сколько я вам благодарен
Да, это то что нужно было!) Действительно, простое решение проблемы (для новичка).

Kyra90, И тем не менее, тоже спасибо!!! Кажется кое-где, мне всё равно придётся изменять програмно.

Очень помогли и выручили.

Не по теме:

Кликните здесь для просмотра всего текста
ViterAlex, а если у меня Форма имеет параметр «FormBorderStyle» = «None» (как на рисунке), Есть возможность оставив этот параметр, сделать форму с изменяемым размером(мышкой)? (только без границ).
Опять же, я нашёл более менее сносное решение на YouTube, но... а, вдруг:)

Миниатюры
Изменения размера кнопки по изменению размера формы  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.12.2020, 16:03
Помогаю со студенческими работами здесь

Событие начала и конца изменения размера формы
Добрый вечер! Нужно выполнить действие в тот момент когда форма возвращается из WindowState.Maximized в свое обычное состояние...

Отловить событие окончания изменения размера формы
Как отловить окончание изменения размеров формы, чтобы каждый раз не обрабатывать событие изменения размера?

Не отрисовывается полностью expander после изменения размера формы
В общем суть в том, что я делаю окно настроек, и вот это окно настроек оно динамически изменяется в зависимости от размещённых на ней...

Пропорциональное изменение размера tabControl1 при изменении размера формы
Всем hello. Посоветуйте, что сделать. На форме есть компоненты, делаю, чтобы при изменении размера формы элементы притягивались к краям...

Изменение размера формы при нажатии кнопки
Ку Нужно изменять размер формы последствием нажатия на кнопку . использовал это if (button1.Text ==...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru