在面板中移动pictureBox

hsz*_*hsz 4 c# panel picturebox winforms

我有一个C#,WindowsForms的项目,我创建了一个panel包含pictureBox比他父母大得多的项目.

我转过身panel.AutoScrolltrue和我想要做的就是拖着这pictureBoxpanel而不是追赶滚动和移动它.

即当我抓住一个图像并将光标向左和向下移动时,我希望得到与我用panel滚动条做的相同的行为.

怎么做 ?

hsz*_*hsz 5

好,我知道了.;-)如果其他人有同样的问题,这里是解决方案:

    protected Point clickPosition;
    protected Point scrollPosition; 

    private void pictureBox_MouseDown(object sender, MouseEventArgs e)
    {
        this.clickPosition.X = e.X;
        this.clickPosition.Y = e.Y;
    }

    private void pictureBox_MouseMove(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Left)
        {
            scrollPosition.X = scrollPosition.X + clickPosition.X - e.X;
            scrollPosition.Y = scrollPosition.Y + clickPosition.Y - e.Y;
            this.panel.AutoScrollPosition = scrollPosition;
        }
    }  
Run Code Online (Sandbox Code Playgroud)