패널이 만들어졌습니다. This is autoscroll = true패널에 PictureBox 위치를 설정할 수 없습니다.
처음에는 이미지가있는 256x256 인 6 개의 그림 상자가 추가되었습니다. 새 그림 상자를 넣을 위치를 알 수 있도록 마지막 그림 상자 위치를 저장합니다.
패널의 오른쪽 위 (위치 (8744,8744))에 그림 상자를 추가하여 패널이 9000px로 늘어납니다.
나중에 패널에서 스크롤 할 때 버튼을 누르고 그림 상자를 패널에 추가 할 수 있습니다. 문제는 내가 picturebox의 위치를 설정하고 그것을 패널에 추가 할 때 시각적으로 완전히 잘못 나오는 것입니다.
이미지를 더 추가하는 코드입니다. 내가 디버깅 및 패널 시계 경우
private void addPictureBox(Point pixelCoordinates, Bitmap image)
{
PictureBox pNewImage = new PictureBox();
imagePanel.Controls.Add(pNewImage);
pNewImage.Image = image;
pNewImage.Name = "image_:" + pixelCoordinates.X + "_" + pixelCoordinates.Y;
pNewImage.Location = pixelCoordinates;
pNewImage.Size = new System.Drawing.Size(256, 256);
pNewImage.Visible = true;
pNewImage.BackColor = Color.White;
imagePanel.Update();
}
, 그것은 새로운 PictureBox를 내가 설정 한 위치를 가지고 있지만, 시각적으로, 그렇지 않은 것을 말한다.
나는 이것이 실제로 일어나는 것으로 나타났습니다. picturebox의 위치는 어디에서 스크롤했는지 + location.X입니다.
누구든지이 문제를 해결할 수있는 아이디어가 있습니까?
미리 감사드립니다.
나중에 다시 시도하겠습니다. 나는 어제 그것을 시도했지만, 나는 내가 이미지를 생성 한 후 스크롤바 값을 조금 사용했다고 생각한다. 그리고 그것은 분명히 잘못되었습니다. 다운로드 한 이미지의 픽셀 좌표로 해시 테이블의 스크롤 막대 위치를 저장하므로 이미지의 픽셀 좌표에서 스크롤 막대 위치를 뺄 수 있습니다. – Ikky