使面板可调整大小对用户

时间:2017-07-10 09:21:51

标签: c# windows visual-studio

我在Windows窗体中有1个面板,设置为一定的宽度和高度,并且想要重新创建类似于如何调整Microsoft绘制中的绘制框的宽度和高度的内容。如何为用户调整面板大小,以便他们可以从宽度和高度调整大小?

1 个答案:

答案 0 :(得分:2)

您可以创建自己的UserControl(例如名为ResizablePanel),在其中使用Panel,将其Anchor设置为Top, Bottom, Left, Right

调整Panel的大小,使其几乎涵盖UserControl的所有角落。此图片中的黑色部分是UserControl,白色部分是Panel

Example ResizablePanel

然后你必须使用3个事件:ResizablePanel_MouseDownResizablePanel_MouseMoveResizablePanel_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边框直接调整其大小。

enter image description here