Изменение размера панели на C#, Windows Forms


2

Как я могу разрешить пользователям изменять размер панели во время выполнения, перетаскивая угол?

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 пикселей), а затем обрабатываете события перетаскивания и изменяете свойство «Размер» на панели.