更改面板起点

时间:2018-03-01 07:59:32

标签: c# .net winforms panel autoscroll

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

Panel i got and panel i want

我使用衍生的面板

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

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