如何在 Visual Studio 中为迷宫设计项目制作 C# 中的图片框?
Posted
技术标签:
【中文标题】如何在 Visual Studio 中为迷宫设计项目制作 C# 中的图片框?【英文标题】:How to make picturebox in C# clickable in visual Studio for maze design project? 【发布时间】:2018-05-08 02:06:35 【问题描述】:我正在按照本教程使用表单模板和 C# 在 Visual Studio 中制作迷宫,但我不明白他如何将图片框制作成按钮,并且能够制作允许用户操作的表单图片框来制作迷宫。 http://www.c-sharpcorner.com/uploadfile/4a950c/solving-mazes-using-recursion/
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;
【问题讨论】:
【参考方案1】:您的事件处理程序没问题,但是如果您将颜色更改为当前颜色,它不会显示任何更改。
试试这个,
private void PictureBox_Click(object sender, EventArgs e)
pictureBox.BackColor = Color.Brown;
【讨论】:
以上是关于如何在 Visual Studio 中为迷宫设计项目制作 C# 中的图片框?的主要内容,如果未能解决你的问题,请参考以下文章
将未映射的菜单项映射到 Visual Studio 中的组合键
如何在 Visual Studio 2017 中为 Windows XP 编译代码
如何在 Visual Studio 2013 中为 sqlite 配置实体框架 6