如何使用按钮来控制其他按钮的焦点?

时间:2019-03-11 03:30:54

标签: c# button controls focus

我想使用下面的四个方向按钮来控制上面九个按钮的焦点,但是在搜索之后,这个问题尚未解决,因此我来了stackoverflow并希望得到答案。

谢谢您的回答。原谅我成为C#初学者。

enter image description here

2 个答案:

答案 0 :(得分:0)

您可以将按钮(1/2/3 ... A / S / D)存储在二维阵列中。按钮[3,3]。 然后将默认Point设置为0,0(Point是具有2个int来标识位置的结构)。

在“上/下”中单击“减小/增加Y坐标”(确定是否要进行“吃豆人”)。即从最低位置向下按将您带到最高位置等

在左/右键中,单击“减小/增大X坐标”。

每次单击后-从按钮集合中选择按钮,例如:

ButtonStore [Point.X,Point.Y]

,然后调用设置焦点。 (可能是Control.Focus()之类的。)

答案 1 :(得分:0)

private Button[,] btns = new Button[3,3] {
                           {button1,button2,button3},
                           {buttonQ,buttonW,buttonE},
                           {buttonA,buttonS,buttonD}};
private int x=0, y=0;

private void buttonLeft_Click(object sender, EventArgs e)
{
    if(y>0)
    {
        y--;
        btns[x,y].Focus();
    }
}

private void buttonRight_Click(object sender, EventArgs e)
{
    if(y<3)
    {
        y++;
        btns[x,y].Focus();
    }
}

private void buttonUp_Click(object sender, EventArgs e)
{
    if(x>0)
    {
        x--;
        btns[x,y].Focus();
    }
}

private void buttonDown_Click(object sender, EventArgs e)
{
    if(x<3)
    {
        x++;
        btns[x,y].Focus();
    }
}