В общем, создал форму, в свойствах формы FormBorderStyle указал None, чтобы не было рамки окна и заголовка. Собственно, вопрос: как теперь сделать так, чтобы можно было изменять размер окна (растягивать и сужать), не имея при этом заголовка окна и рамочки?
Нашел кое-что...предлагают в правый в угол формы поставить небольшого размера pictureBox или panel сделать их невидимыми, а на событие MouseMove() повесить изменение размеров. Например:
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.Size = new Size(this.PointToClient(MousePosition).X, this.PointToClient(MousePosition).Y);
}
}
Также установите у panel свойство Anchor в Bottom, Right, чтобы изменение срабатывало только на нижней и правой границе panel.
Оригинал ответа: https://social.msdn.microsoft.com/Forums/en-US/6e5c1da4-b535-4226-b7c8-c6cef2c0c21f/resizing-moving-formborderstylenone-form?forum=vblanguage
Может, вас устроит следующее решение:
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;
}
}
}
Таким образом, у формы без заголовка будет тонкая рамочка, за которую можно менять её размеры.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники