我在Windows窗体中有1个面板,设置为一定的宽度和高度,并且想要重新创建类似于如何调整Microsoft绘制中的绘制框的宽度和高度的内容。如何为用户调整面板大小,以便他们可以从宽度和高度调整大小?
答案 0 :(得分:2)
您可以创建自己的UserControl
(例如名为ResizablePanel
),在其中使用Panel
,将其Anchor
设置为Top, Bottom, Left, Right
。
调整Panel
的大小,使其几乎涵盖UserControl
的所有角落。此图片中的黑色部分是UserControl
,白色部分是Panel
。
然后你必须使用3个事件:ResizablePanel_MouseDown
,ResizablePanel_MouseMove
和ResizablePanel_MouseUp
。
private void ResizablePanel_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
isResizeMode = true;
}
}
private void ResizablePanel_MouseMove(object sender, MouseEventArgs e)
{
if (isResizeMode)
{
this.Size = new Size(e.X, e.Y);
}
}
private void ResizablePanel_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
isResizeMode = false;
}
}
现在,您可以点击ResizablePanel
边框直接调整其大小。