나는이 튜토리얼을 따라 C# 퍼즐 게임을 만들었다. http://jetgamedev.blogspot.ro/2012/05/lesson-0229-c-lab-4-create-image-puzzle.html.VS C# 퍼즐 게임
내 문제는 튜토리얼의 77 단계에서 어떤 PictureBox 클래스도 찾을 수 없으므로 Form1을 부모 클래스로 추가했습니다. 나는이 오류가 어디 지금은 단계 86에서 오전 :
Cannot implicitly convert type 'PuzzleImage.MyPictureBox' to 'System.Windows.Forms.PictureBox'
문제는 다음 줄에 있습니다 :
private void PlayLevel()
{
if (pictureBoxWhole != null)
{
groupboxPuzzle.Controls.Remove(pictureBoxWhole);
pictureBoxWhole.Dispose();
pictureBoxWhole = null;
}
if (picBoxes == null)
{
images = new Image[currentLevel];
picBoxes = new PictureBox[currentLevel];
}
int numRow = (int)Math.Sqrt(currentLevel);
int numCol = numRow;
int unitX = groupboxPuzzle.Width/numRow;
int unitY = groupboxPuzzle.Height/numCol;
int[] indice = new int[currentLevel];
int i = 0;
for (i = 0; i < currentLevel; i++)
{
indice[i] = i;
if (picBoxes[i] == null)
{
picBoxes[i] = new MyPictureBox();
picBoxes[i].Click += new EventHandler(OnPuzzleClick);
picBoxes[i].BorderStyle = BorderStyle.Fixed3D;
}
picBoxes[i].Width = unitX;
picBoxes[i].Height = unitY;
((MyPictureBox)picBoxes[i]).Index = i;
CreateBitmapImage(image, images, i, numRow, numCol, unitX, unitY);
picBoxes[i].Location = new Point(unitX * (i % numCol), unitY * (i/numCol));
if (!groupboxPuzzle.Controls.Contains(picBoxes[i]))
groupboxPuzzle.Controls.Add(picBoxes[i]);
}
suffle(ref indice);
for (i = 0; i < currentLevel; i++)
{
picBoxes[i].Image = images[indice[i]];
((MyPictureBox)picBoxes[i]).ImageIndex = indice[i];
}
}
: 여기
picBoxes[i] = new MyPictureBox();
((MyPictureBox)picBoxes[i]).Index = i;
((MyPictureBox)picBoxes[i]).ImageIndex = indice[i];
문제 소스 코드의 일부이다
감사합니다.
'MyPictureBox' 란 무엇입니까? 그것은 무엇으로부터 물려 받습니까? – Oded
이 클래스는 76 단계에서 만든 클래스입니다. – user2194683
"내 문제는이 튜토리얼의 77 단계에서 어떤 PictureBox 클래스도 찾을 수 없으므로 Form1을 부모 클래스로 추가했습니다." 'MyPictureBox'가'Form1'을 상속 받았다면 작동하지 않을 것입니다. 'include System.Windows.Forms'을 추가하면 상속받을'PictureBox'가 있어야합니다. –