我尝试使用一小块面板和四个方向按钮在C#中创建一个小项目,如下所示:
但我不知道如何使用这些面板创建一个简单的导航系统。 "字符"只是一个彩色面板。所有面板的名称都与它们前面的坐标一样(p11到p66)有没有办法做某种能够占据"字符的位置"并将面板着色在同一位置?
示例
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
部分应该是您当前所在的面板。这是我不知道如何制作的部分。
答案 0 :(得分:0)
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;
}
}
然后在表单类
中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;
}
...
您可能需要添加代码来设置起始颜色和坐标。