pictureBox では一度に 1 つの画像しか表示できないことはわかっています。コレクション内の各画像に対して pictureBox を作成しようとしています。たとえば、List に 10 個の画像がある場合、メソッドはそれぞれの画像に対して 10 個の pictureBox を作成し、それぞれが pictureBox に表示されるようにする必要があります。代わりに for ループと foreach ループのどちらが良いかわかりません。ループが両方の変数 XCoordinate と YCoordinate をインクリメントするたびに、PictireBox の位置が増加し、PictureBox がフォーム内で互いに重ならないようにする必要があります。このメソッドの理由は、アプリケーションが実行されるたびにコレクション内の画像の数が変わる可能性があるためです。そのため、手動で作成していません。そのため、リスト内のすべての画像がpicture.Boxに表示されるはずです。ボックスはすべて同じサイズである必要があります。唯一の違いは、フォーム上の位置と、複数のピクチャ ボックスを作成するフォーム内の画像です。助けてください、私は感謝します
http://imageshack.us/photo/my-images/41/59536200.png/のように見えるはずです。私が取り組んでいるコードに感謝しますsoltion 大きな助けになります。
public List<Image> returnImagesInList()
{
return this.images;
}
private void createPictureBoxesForImages()
{
foreach (Image file in retrurnImagesInList())
{
try
{
int XCoordinate = 10;
XCoordinate++;
int YCoordinate = 5;
YCoordinate++;
PictureBox imageControl = new PictureBox();
imageControl.Height = 100;
imageControl.Width = 100;
imageControl.Visible = true;
imageControl.Location = new Point(XCoordinate, YCoordinate);
Controls.Add(imageControl);
imageControl.Image = file;
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.Message);
}
}
}