在面板网格中导航

Navigating through a grid of panels

我正在尝试使用一个小面板网格和四个方向按钮在 C# 中创建一个小项目,如下所示:

但我不知道如何使用这些面板创建简单的导航系统。 "character" 只是一个彩色面板。所有面板都按照它们前面的坐标命名(p11 到 p66) 有没有办法执行某种功能可以占据 "character" 的位置并在同一位置为面板着色?

例子

int coords = 21;

private void Up_Click(object sender, EventArgs e)
{
    Move(10);
}

Void Move(int coordchange)
{
    pcoords.BackColor = Color.White;
    coords = coords + coordchange
    pcoords.BackColor = Color.Black;
}

pcoords 部分应该是您当前所在的面板。那是我不知道怎么做的部分。

public class Panels
{
     public Panel[, ] PanelsArray=new Panel[6,6] ;
     int xcoordinate;
     int ycoordinate;
     public Panel CurrentPanel{get{return PanelsArray[xcoordinate,ycoordinate];}
     public void MoveUp()
     {
         BeforeMove();
         if(ycoordinate>0) ycoordinate--;
         OnMove();
     }
     //declare MoveDown, MoveLeft and MoveRight similiarly
     ...
     private void BeforeMove()
     {
         CurrentPanel.BackColor=Color.White;
     }
     private void OnMove()
     {
        CurrentPanel.BackColor=Color.Black;
     }
}

然后在表格中 class

public partial class Form1 : Form
{
    public Panels Panels=new Panels();
    public Form1()
    {
            InitializeComponent();
            Panels.PanelsArray[0,0]=p00;
            PanelsPanelsArray[1,0]=p10;
            Panels.PanelsArray[2,0]=p20;
            //...
            Panels.PanelsArray[5,5]=p55;

    }
...

您可能需要添加代码来设置起始颜色和坐标。