您可以拦截鼠标位置和点击事件。如果在角落里,那么设置一个调整大小的布尔值,然后在mousemove事件中,您可以实现类似以下内容的操作。 if (_resizing) { this.Height = top + e.Y; this.Width = width + e.X; }
如果你想使用一个实际的 System.Windows.Forms.Panel 并且动态地调整它的大小,那么你就必须像拖放一样进行操作。你将需要处理面板上的鼠标单击事件,确定是否在面板的边缘(在2-3像素范围内),然后处理拖曳事件并改变面板的大小属性。