Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/56: Рейтинг темы: голосов - 56, средняя оценка - 4.54
5 / 5 / 0
Регистрация: 04.04.2011
Сообщений: 37

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

06.04.2011, 00:08. Показов 11237. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите плиз, как сделать чтобы все при растягивание формы прилажения остовалось но своих местах и растягивалось с формой, например есть panel форме, изначально он в центре,но после растяжения он остается таким же в размере и жмется в углу, а хотелось бы чтоб растягивался вместе с формой.

Добавлено через 2 минуты
работаю в VS 2010.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.04.2011, 00:08
Ответы с готовыми решениями:

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

Как сделать, чтобы элементы формы растягивались вмести с формой?
Как сделать, чтобы элементы формы растягивались вмести с формой, при нажатие кнопки "растянуть во весь экран" ?

Как сделать, чтобы при нажатии на кнопку("Во весь экран") вместе в формой расширялись еще и компоненты
Есть же кнопка(развернуть во весь экран), которая около свернуть и закрыть. При нажатии на нее, "разворачивается" только форма,...

10
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
06.04.2011, 17:39
Язык какой?(тип приложения)
0
5 / 5 / 0
Регистрация: 04.04.2011
Сообщений: 37
06.04.2011, 19:53  [ТС]
Язык C++/ CLI , приложение Windous Form Aplication, создаю в Visual Studio 2010
 Комментарий модератора 
Для C++/CLI есть специальный раздел. Перенесено.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
06.04.2011, 20:26
переопредели для формы событие Resize
0
5 / 5 / 0
Регистрация: 04.04.2011
Сообщений: 37
06.04.2011, 21:15  [ТС]
тоесть ты предлагаешь, при растежение формы , в обработчике сделать растяжение компонент?
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
06.04.2011, 21:19
да
можешь перемещение
1
5 / 5 / 1
Регистрация: 22.11.2010
Сообщений: 6
11.04.2011, 02:15
Мне кажется, будет проще использовать свойства Anchor и Dock контролов, либо поместить контрол в контейнер типа TableLayoutPanel, чем переопределять событие Resize.
0
3 / 3 / 4
Регистрация: 13.05.2016
Сообщений: 38
13.05.2016, 17:26
Хахахха, расписывал расписывал, и увидел что автор на С++ хотел ответ.
В общем мой быдлокод на С# написан. Если вдруг кто будет переделывать на С++ скидывайте суда.

Немножко своего быдлокода
ЗЫ: проблема решена по крайней мере
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
namespace Project
{
    public partial class Form1 : Form
    {
///////////////////этот кусок кода для получения РЕАЛЬНЫХ координат приложения/////////////////////////////
        int realCoordApp_X;
        int realCoordApp_Y;
 
        public void setRealCoordApp(Control control)
        {
            realCoordApp_X = control.Size.Width;
            realCoordApp_Y = control.Size.Height;
        }
 
        public int getRealCoordApp_X()
        {
            return realCoordApp_X;
        }
 
        public int getRealCoordApp_Y()
        {
            return realCoordApp_Y;
        }
//////////////////////////////////////////////////////////////////////////////////
        public void OneForm_Resize(object sender, EventArgs e)//здесь происходит изменение размеров PictureBox при изменении размера приложения
        {
            Control control = (Control)sender;
            setRealCoordApp(control);
 
            getCoordinatesPictureBox();
        }
 
        public void OneForm_Load(object sender, EventArgs e)//загрузка PictureBox при запуске приложения
        {
            Control control = (Control)sender;
            setRealCoordApp(control);
 
            loadingPictureBox();
            getCoordinatesPictureBox();
        }
 
        public void loadingPictureBox()//чтобы не копировать код в OneForm_Load и в OneForm_Resize
        {
            pictureBox1.Image = Properties.Resources.OneScrollBoxOnePicBox;
            pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
        }
 
         public void getCoordinatesPictureBox()
        {
            getRealPicBox(pictureBox1, getRealCoordApp_X(), getRealCoordApp_Y(), coordOnePicBox.X, coordOnePicBox.Y, getSize.PicBox);
        }
 
////////////////////эту функцию мы вызываем в OneForm_Resize и OneForm_Load, она принимает реальные размеры приложения и создаём PictureBox. Если эту функцию убрать из OneForm_Resize , то изменения не будет//////////////////////////////
        public void getRealPicBox(PictureBox pictureBox, int coordX, int coordY, double coordPicBox_X, double coordPicBox_Y, double sizePicBox)
        {
            Point actualCoordinatesPicBox = new Point((int)(coordX * coordPicBox_X), (int)(coordY * coordPicBox_Y));
            Size actualSizePicBox = new Size((int)(coordX * sizePicBox), (int)(coordY * sizePicBox));
 
            pictureBox.Location = actualCoordinatesPicBox;
            pictureBox.Size = actualSizePicBox;
        }
////////////////////
coordPicBox_X, coordPicBox_Y, sizePicBox значения этих переменных ставите относительно целой единицы. не понятно наверно.
как было у меня:
public struct coordOnePicBox
internal double X = 0.02;
internal double Y = 0.05;
 
public struct coordTwoPicBox
internal double X = 0.5;
internal double Y = 0.05;
 
public struct getSize
internal double PicBox = 0.4;
 
эти структуры прописаны в классе и я дёргал их для всех form приложения
единственный момент
копируя функцию OneForm_Resize в свой код проверьте в файл Form1.Designer.cs наличие этой строчки
this.Resize += new System.EventHandler(this.OneForm_Resize) ;

Функцию изменения размеров PictureBox можно переделать под Button, просто поменяв аргумент в функции.
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
15.05.2016, 07:41
Возможно, такой способ будет уместен для более изощрённых сценариев, но обычно это делается с помощью свойства Dock, как уже сказано выше.
0
3 / 3 / 4
Регистрация: 13.05.2016
Сообщений: 38
15.05.2016, 22:30
tezaurismosis, простите, могли бы вы подробней рассказать
сейчас я потыкался в Dock и ничего адекватного я там не нашёл, Dock растягивал картинку во весь экран.
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
16.05.2016, 10:58
Цитата Сообщение от Warsmit Посмотреть сообщение
Dock растягивал картинку во весь экран
DockStyle.Fill работает не совсем так. К тому же, есть другие режимы.
Вот простой пример: заготовка для текстового редактора.
Меню закреплено к верхнему краю окна - DockStyle.Top
Статусная строка закреплена к нижнему краю окна - DockStyle.Bottom
Панель элементов закреплена к левому краю окна - DockStyle.Left
Текстбокс занимает оставшуюся часть свободного места на форме - DockStyle.Fill
Все эти элементы меняют свои размеры автоматически с изменением размеров формы.
Миниатюры
Как сделать, чтобы компоненты растягивались вместе с формой?  
Вложения
Тип файла: zip CLI_WinForms.zip (71.0 Кб, 17 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.05.2016, 10:58
Помогаю со студенческими работами здесь

Как сделать так, чтобы панель растягивалась вместе с формой?
Именно в java)

Как сделать чтобы размеры элементов управления изменялись вместе с формой?
На форме текстбоксы, кнопки и листбокс. Как сделать, чтобы при увеличении формы, они тоже увеличивались? Заранее спасибо.

Как сделать, чтобы Status bar растягивался вместе с формой и оставался внизу?
Создаю так hsb = CreateStatusWindow(WS_CHILD| WS_VISIBLE, L"", hwnd, 4000);

Привязка элементов к форме. Чтобы они растягивались вместе с ней
Посмотрите пожалуйста, что здесь не так. Переделал кучу вариантов, менял значения ScaleMode, переводил в твипы, в точки, в пиксели ничего...

Как сделать, чтобы вместе с формой отправки ajax. В письме было видно параметры товара в блоке «ваш выбор», который зака
Здравствуйте, как сделать, чтобы видно было что он выбрал на сайте в письме который заказал человек. Пример письма с почты: Телефон: Имя:...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru