81 個の画像ボックスを作成し、それらを互いに一定の距離を置いて自動的に配置しようとしていますが、論理的な順序で配置されていないようです。それらが画面に表示されるようにするには、Xポイントを-1700に初期化する必要があります。次のコードは、必要な最初の 15 個を取得しますが、パターンを継続するのではなく、互いにスタックし始めます。これは約 1 時間の試行錯誤の結果ですが、最初はロジックに問題がないように見えました。設定されている現在のX、Yを表示するメッセージボックスもありましたが、それらの座標に配置しないのは正しいことでした。
int X = -1700;
int Y = 0;
for (int i = 0; i < 81; i++)
{
this.Controls.Add(championThumbNailsArray[i]);
championThumbNailsArray[i].Height = 80;
championThumbNailsArray[i].Width = 80;
championThumbNailsArray[i].Location = new Point(X, Y);
// MessageBox.Show(Convert.ToString(X) + "," + Convert.ToString(Y));
championThumbNailsArray[i].ImageLocation = akali.grabPicture();
//championThumbNailsArray[i].ImageLocation = championsArray[i].grabPicture();
if (X <= 425)
X = X + 85;
else
{
X = -1700;
Y = Y + 85;
}
}
