更改面板起点

Change panel starting point

在我的程序中,我有一个 1000 x 1500 像素的面板,在该面板中有一个 4000 x 10000 像素的面板,我可以在其中滚动。现在这个面板像左边一样开始(图中的例子)但我想知道我是否可以让它像右边的例子一样开始。以及是否可以更改Panel的0,0点(link中的图片)

我正在使用派生面板

class BufferedPanel : Panel
    {
        public BufferedPanel()
        {
            this.DoubleBuffered = true;
            this.ResizeRedraw = true;
        }
    }

您可以设置新面板的位置 属性。

Panel.Location = New Point(OriginalPanel.Width/2 - Panel.Size.Width/2, OriginalPanel.Height/2 - Panel.Size.Height/2);

请尝试将其添加到面板构造函数中:

this.Anchor = System.Windows.Forms.AnchorStyles.Left;

您需要为外部 auto-scroll 面板设置初始滚动位置。为此,您可以设置外部面板的 AutoScrollPosition 属性。您应该在显示表格后执行此操作:

protected override void OnShown(EventArgs e)
{
    base.OnShown(e);
    panel1.AutoScrollPosition = new Point(0, 1250);
}