Как я могу разрешить пользователям изменять размер панели во время выполнения, перетаскивая угол?Изменение размера панели на C#, Windows Forms
2
A
ответ
2
Вы могли перехватить местоположение мыши и нажмите .. если это в углу затем установить изменение размера булево, а затем на MouseMove случае вы могли бы реализовать что-то вроде этого ..
if (_resizing)
{
this.Height = top + e.Y;
this.Width = width + e.X;
}
2
Я не знаю о перетаскивании углов, но вы можете состыковать панель и использовать сплиттеры, чтобы предоставить пользователям возможность изменять размер пристыкованных областей.
1
Если вы хотите использовать фактическую System.Windows.Forms.Panel и динамически изменять размер, тогда вам придется делать это, как если бы вы делали drag-n-drop. Вам нужно будет обработать щелчок мышью на панели, определить, находитесь ли вы на краю панели (в пределах 2-3 пикселей), а затем обрабатываете события перетаскивания и изменяете свойство «Размер» на панели.