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

Изменение размеров окна при FormBorderStyle: None

29.05.2017, 20:07. Показов 3159. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем, создал форму, с свойствах формы FormBorderStyle указал None, что бы не было рамки окна и заголовка. Собственно вопрос, как теперь сделать так, что бы можно было изменять размер окна (растягивать и сужать) не имея при это заголовка окна и рамочки?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.05.2017, 20:07
Ответы с готовыми решениями:

Неверное отображение окна при FormBorderStyle = none
Привет уже в н-ый раз за сутки всем! Сделал простую формочку с datetimepicker и батоном. Установил FormBorderStyle = none. В...

Изменение размера Формы при FormBorderStyle = None
Приветствую. Есть форма с FormBorderStyle = None, теперь появилась задача как изменять размер формы, тут я заметил что у StatusStrip есть...

Изменение размера Формы при FormBorderStyle = None
Доброго времени суток. Побаловавшись со свойством FormBorderStyle = None и найдя код, при котором можно перемещать и менять размеры формы...

3
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
29.05.2017, 20:31
Цитата Сообщение от Kanelynch Посмотреть сообщение
как теперь сделать так, что бы можно было изменять размер окна (растягивать и сужать) не имея при это заголовка окна и рамочки?
https://www.cyberforum.ru/blog... g3609.html
0
3 / 3 / 3
Регистрация: 16.11.2015
Сообщений: 107
29.05.2017, 20:51  [ТС]
Цитата Сообщение от Storm23 Посмотреть сообщение
https://www.cyberforum.ru/blogs/529033/blog3609.html
Так, теперь следующая ошибка возникает от этого. У меня весит событие на форме, которое позволяет двигать форму за любое место. Я добавил этот контрол в проект и подключил его.
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;
 
namespace _Sanvirtus_Video_Player
{
    // public partial class FormVideoPlayer : Form
    public partial class FormVideoPlayer : BorderLessForm
    {
        public FormVideoPlayer()
        {
            InitializeComponent();
        }
        // Перетаскивание панели за любой участок - Начало
        [DllImportAttribute("user32.dll")]
        public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
 
        [DllImportAttribute("user32.dll")]
        public static extern bool ReleaseCapture();
 
        public const int WM_NCLBUTTONDOWN = 0xA1;
        public const int HT_CAPTION = 0x2;
 
        private void FormVideoPlayer_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                ReleaseCapture();
                SendMessage(this.Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
            }
        }
        // Перетаскивание панели за любой участок - Конец
    }
}
После этого в этой строчке Handle стал подсвечиваться красным и все перестало работать.
C#
1
SendMessage(this.Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
Так же перестали работать следующие компоненты:

Dispose
SuspendLayout();
AutoScaleDimensions
AutoScaleMode
ClientSize
Controls
и т.д. (В сумме около 50 компонентов). Что с этим делать?
0
3 / 3 / 3
Регистрация: 16.11.2015
Сообщений: 107
04.06.2017, 11:07  [ТС]
Нашел неплохой вариант, таким образом у формы будет тонкая рамочка за которую можно менять размер окна.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
 
        this.FormBorderStyle = FormBorderStyle.None;
    }
 
    protected override CreateParams CreateParams
    {
        get
        {
            const int WS_SIZEBOX = 0x40000;
 
            var cp = base.CreateParams;
            cp.Style |= WS_SIZEBOX;
 
            return cp;
        }
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.06.2017, 11:07
Помогаю со студенческими работами здесь

Изменение размеров элементов, при изменение размеров формы
Доброго времени суток, подскажите, как в VS2016 реализовать подобное, а именно: Имеются следующая форма: С нижним текстбоксом я...

Изменение размера формы указателем мыши при FormBorderStyle = None;
День добрый, возникла небольшая проблема:) Есть форма границы в форме отключены FormBorderStyle = None; необходимо в ручную обработать...

Изменение размеров элементов, сохраняя пропорции, при изменении размеров самой формы
Как изменять размеры элементов, сохраняя пропорции, при изменении размеров самой формы?

Изменение размеров окна Form
Всем здрасте! Можете подсказать как изменить размер окна, например по нажатии кнопки.

Как запретить изменение размеров окна
Как запретить изменение размеров окна? (кроме MaximumSize = MinimumSize)


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru