按钮单击,切换

本文关键字:切换 单击 按钮 | 更新日期: 2023-09-27 18:18:21

谁能帮我把这个序列转换成Switch ?我试过了,但都失败了。

private void ButtonTouch ( EditText x)
{
    if (i==2) 
    {
        Button1.Click += delegate {
            x.Text = x.Text + "1";
        };
        Button2.Click += delegate {
            x.Text = x.Text + "2";
        };
        Button3.Click += delegate {
            x.Text = x.Text + "3";
        };
        Button4.Click += delegate {
            x.Text = x.Text + "4";
        };
        Button5.Click += delegate {
            x.Text = x.Text + "5";
        };
        Button6.Click += delegate {
            x.Text = x.Text + "6";
        };
        Button7.Click += delegate {
            x.Text = x.Text + "7";
        };
        Button8.Click += delegate {
            x.Text = x.Text + "8";
        };
        Button9.Click += delegate {
            x.Text = x.Text + "9";
        };
        Button0.Click += delegate {
            x.Text = x.Text + "0";
        };
    }

    a.Click += delegate {
        i=0;
        i = i + 1;
        this.ButtonTouch (a);
    };
    b.Click += delegate {
        i=0;
        i = i + 1;
        this.ButtonTouch (b);
    };
    c.Click += delegate {
        i=0;
        i = i + 1;
        this.ButtonTouch (c);
    };
}

尝试:

switch (Button)
{
case 'Button1.Click':....... ; break;
.......
.......
}

switch (true)
{
case 'Button1':........; break;
........
........
}

我没有主意了…相关的想法。所以如果有人打扰我,我很感激。

按钮单击,切换

试试这个,但我认为这不会解决你的问题,你的问题一定是别的:

if (i==2) 
{
var ListButtons = new List<Button> {
{ Button1 },
{ Button2 },
{ Button3 },
{ Button4 },
{ Button5 },
{ Button6 },
{ Button7 },
{ Button8 },
{ Button9 },
{ Button0 },
};
for(int i=0; i<=9; i++)
{
switch (i)
{
 case 0:
{
    ListButtons[i].Click += delegate {
            x.Text = x.Text + i;
        };
    break;
}
case 1:
{
    ListButtons[i].Click += delegate {
            x.Text = x.Text + i;
        };
    break;
}
case 2:
{
    ListButtons[i].Click += delegate {
            x.Text = x.Text + i;
        };
    break;
}
case 3:
{
    ListButtons[i].Click += delegate {
            x.Text = x.Text + i;
        };
    break;
}
case 4:
{
    ListButtons[i].Click += delegate {
            x.Text = x.Text + i;
        };
    break;
}
case 5:
{
    ListButtons[i].Click += delegate {
            x.Text = x.Text + i;
        };
    break;
}
case 6:
{
    ListButtons[i].Click += delegate {
            x.Text = x.Text + i;
        };
    break;
}
case 7:
{
    ListButtons[i].Click += delegate {
            x.Text = x.Text + i;
        };
    break;
}
case 8:
{
    ListButtons[i].Click += delegate {
            x.Text = x.Text + i;
        };
    break;
}
case 9:
{
    ListButtons[i].Click += delegate {
            x.Text = x.Text + i;
        };
    break;
}
}
}
}

你可以试试

for(int i=0; i<=9; i++)
{
    Button button = (Button)YourPageControl.FindName("Button" + i);
    button.Click += delegate 
                    {
                         x.Text = x.Text + i;
                    };
}