我有一個創建的面板。 這具有自動滾屏=真無法在面板中設置PictureBox的位置
在開始我加入6- pictureboxes是256×256用圖像。 我存儲最後一個picturebox的位置,所以我知道在哪裏放置一個新的picturebox。
我還在面板的右上方添加了一個圖片框(位置(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 2010-04-08 10:14:02