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

Увеличение компонента Panel в Windows Forms

31.10.2018, 19:25. Показов 3389. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дорого времени суток, друзья! Прошу помощи с заданием в windows forms, в котором требуется создать приложение, которое при каждом клике на компоненте Panel увеличивает его размеры
(центр симметрии должен оставаться на месте), до тех пор, пока одна из сторон не дойдет до края
формы. Задание интересное, однако никак не получается написать правильный код. Буду рад всем отозвавшимся)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.10.2018, 19:25
Ответы с готовыми решениями:

windows forms +panel
как при добавлении в панель контрола указать позицию где ему появиться? задание вобще такое- я хочу на форме динамически отображать...

"System.Windows.Forms.Panel" не содержит определения для "InitializaGraphics"
1 "System.Windows.Forms.Panel" не содержит определения для "InitializaGraphics" и не был найден метод расширения...

Печать содержимого компонента panel
Очередной раз здравствуйте, осталось решить одну проблему, нужно вывести на печать содержимого компонента panel (там находятся компоненты...

5
 Аватар для ashsvis
923 / 503 / 202
Регистрация: 08.10.2018
Сообщений: 1,553
Записей в блоге: 11
31.10.2018, 20:02
kletskov2017, напишите в обработчике клика на панели:
C#
1
2
3
4
5
6
7
8
9
10
11
12
private void panel1_Click(object sender, EventArgs e)
{
    var pnl = (Panel)sender;
    var center = new Point(pnl.Left + pnl.Width / 2, pnl.Top + pnl.Height / 2);
    var newSize = new Size(Convert.ToInt32(pnl.Width * 1.1), Convert.ToInt32(pnl.Height * 1.1));
    var newLocation = new Point(center.X - newSize.Width / 2, center.Y - newSize.Height / 2);
    if (this.ClientRectangle.Contains(new Rectangle(newLocation, newSize)))
    {
        pnl.Size = newSize;
        pnl.Location = newLocation;
    }
}
1
0 / 0 / 0
Регистрация: 31.10.2018
Сообщений: 17
31.10.2018, 21:38  [ТС]
Первоначально, Panel даже не появилась после запуска. Потом залил её в другой цвет и после запуска она появилась, однако никак не реагировала ни на щелчки мыши, ни на клавиатуру.
0
 Аватар для ashsvis
923 / 503 / 202
Регистрация: 08.10.2018
Сообщений: 1,553
Записей в блоге: 11
31.10.2018, 21:53
Цитата Сообщение от kletskov2017 Посмотреть сообщение
ни на клавиатуру.
Ну, про клавиатуру речи не было...
Да, и ещё. Я, конечно, предполагаю, когда привожу пример обработчика клика,
что Panel уже есть на форме, и что она такого цвета, что её видно, и что к ней
подключен уже обработчик события клика в редакторе VS...
0
0 / 0 / 0
Регистрация: 31.10.2018
Сообщений: 17
01.11.2018, 10:15  [ТС]
Не пойму что нужно ещё сделать помимо присвоения кода для компонента Panel
0
 Аватар для ashsvis
923 / 503 / 202
Регистрация: 08.10.2018
Сообщений: 1,553
Записей в блоге: 11
01.11.2018, 10:21
Лучший ответ Сообщение было отмечено kletskov2017 как решение

Решение

Например, поместить это в конструктор формы, после InitializeComponent();
C#
1
2
3
4
5
6
7
8
9
10
11
12
panel1.Click += (o, args) =>
    {
        var pnl = (Panel)o;
        var center = new Point(pnl.Left + pnl.Width / 2, pnl.Top + pnl.Height / 2);
        var newSize = new Size(Convert.ToInt32(pnl.Width * 1.1), Convert.ToInt32(pnl.Height * 1.1));
        var newLocation = new Point(center.X - newSize.Width / 2, center.Y - newSize.Height / 2);
        if (this.ClientRectangle.Contains(new Rectangle(newLocation, newSize)))
        {
            pnl.Size = newSize;
            pnl.Location = newLocation;
        }
    };
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.11.2018, 10:21
Помогаю со студенческими работами здесь

Увеличение и уменьшение Forms
при нажатии правой кнопки мыши увеличить размер form на 5, а при нажатии правой кнопки мыши и кнопки Alt уменьшить на 5. Увеличении...

Реализовать в одном таймере и увеличение компонента, и уменьшение, в зависимости от обстоятельств
Как можно реализовать штуку, типа того: при клике на кнопку панель (длинна или ширина) плавно увеличивается, а при повторном нажатии на...

Как переделать Windows Forms приложение в Windows Service с UI?
Здравствуйте, уважаемые посетители форума! Вопрос такой. У меня есть приложение C# Win Forms с интерфейсом. Как из него сделать...

Будут ли работать приложения написанные на Windows Forms на Windows 8
Будут ли работать приложения написанные на Windows Forms на Windows 8? И собсно еще вопрос, вы считаете что время Windows Forms...

Перенос приложения Windows Forms в Windows Market
Как с минимальными затратами времени перенести десктопное приложение на магазин Windows ? Есть ли какая то возможность Использовать тот же...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru