在Visual Studio中按下按钮时,如何移动PictureBox的滚动条?

时间:2019-01-26 15:20:43

标签: c# visual-studio

按下按钮后如何移动图片框的滚动条?

我有flowLayoutPanel(停靠:无,AutoSize:false,AutoScroll:true),我在其上放置了一个PictureBox(停靠:无,SizeMode:AutoSize)。我将一个大图像(9000x6315px)加载到PictureBox中,因此滚动条可见,并允许我滚动地图。但是..只能用鼠标。按下按钮后,如何使用代码滚动PictureBox?

在YouTube上的这段视频中,问题更明显(持续3分钟),它将使您更好地理解我的意思:

https://youtu.be/3Haqzsyn_zE

在Embarcadero Rad Studio中,我可以这样写:

ScrollBox1->HorzScrollBar->Position=500;  
ScrollBox1->VertScrollBar->Position=500;

VS中有可能吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

使用以下代码(插入FlowLayoutPanel的名称)向表单添加一个临时按钮:

Console.WriteLine(flowLayoutPanel1.AutoScrollPosition.ToString());

将缩放的地图滚动到所需的位置,然后单击按钮。

示例输出:

{X=-146,Y=-164}

无论这些值是什么,您都想存储它们的相反值。重复该过程并写下您需要的所有职位。

现在,您可以将FlowLayoutPanel的AutoScrollPosition设置为这些点中的任何一个,它将在此处滚动。例如,如果这是您的“ B1”按钮的期望点:

private void B1_Click(object sender, EventArgs e)
{
    Point pt = new Point(146, 164);
    flowLayoutPanel1.AutoScrollPosition = pt;
}