2017-11-24 8 views
1

이 튜토리얼을 따라 Visual Studio에서 Form 템플릿과 C#을 사용하여 미로를 만들었지 만 그림 상자를 단추로 만드는 방법을 정확히 이해하지 못하고 사용자가 그림을 조작 할 수있는 양식을 만들 수 있습니다. 미로를 만드는 상자. http://www.c-sharpcorner.com/uploadfile/4a950c/solving-mazes-using-recursion/Caze에서 picturebox를 만드는 방법 maze 디자인 프로젝트를 위해 Visual Studio에서 클릭 할 수 있습니까?

private void createNewMaze() 
{ 
mazeTiles = new PictureBox[XTILES, YTILES]; 
//Loop for getting all tiles 
for (int i = 0; i < XTILES; i++) 
{ 
    for (int j = 0; j < YTILES; j++) 
    { 
     //initialize a new PictureBox array at cordinate XTILES, YTILES 
     mazeTiles[i, j] = new PictureBox(); 
     //calculate size and location 
     int xPosition = (i * TILESIZE) + 13; //13 is padding from left 
     int yPosition = (j * TILESIZE) + 45; //45 is padding from top 
     mazeTiles[i, j].SetBounds(xPosition, yPosition, TILESIZE, TILESIZE); 
     //make top left and right bottom corner light blue. Used for start and finish 
       if ((i == 0 && j == 0) || (i == XTILES - 1 && j == YTILES - 1)) 
        mazeTiles[i, j].BackColor = Color.LightBlue; 
       else 
       { 
        //make all other tiles white 
        mazeTiles[i, j].BackColor = Color.White; 
        //make it clickable 
        EventHandler clickEvent = new EventHandler(PictureBox_Click); 
        mazeTiles[i, j].Click += clickEvent; // += used in case other events are used 
       } 
       //Add to controls to form (display picture box) 
       this.Controls.Add(mazeTiles[i, j]); 
      } 
     } 
    } 

는 나도 방법을 만들었지 만 내가 가진 모든 정규 그림 상자 및 2 개 버튼입니다.

private void PictureBox_Click(object sender, EventArgs e) 
{ 
     ((PictureBox)sender).BackColor = currentColor; 
    } 

enter image description here

답변

0

이벤트 핸들러는 괜찮습니다,하지만 경우 현재 색상에 장 에테르 : 색상, 그것은 늘 변화를 보여줍니다.

이 시도

,

private void PictureBox_Click(object sender, EventArgs e) 
{ 
    pictureBox.BackColor = Color.Brown; 
}