如何在 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 中的组合键

如何在 Visual Studio 2017 中为 Windows XP 编译代码

如何在 Visual Studio 2013 中为 sqlite 配置实体框架 6

如何在 Visual Studio Code 中为 Python 设置虚拟环境?

如何在 Visual Studio 2008 xml 编辑器中编辑工作项?