0

C#で数値を使用してボタンを参照する方法はありますか? 再利用可能な方法を使用して、ボタンのテキストを操作しようとしています。ここに私の現在のコーディングがあります: ワンボタンクリック方式 (全部で 16 あります):

private void Card1_Click(object sender, EventArgs e)
    {
        buff = CardClick(1);
        if (buff != null)
        {
            Card1.Text = buff;
        }
    }

そして再利用可能な方法(コードには穴があり、開発中です):

private string CardClick(int card)
        {
            guesses[g++] = card;  //alternate g
            if ((guesses[0] != null) && (guesses[1] != null))
            {
                //Reset Card guesses[0]
                //Reset Card guesses[1]
                return null;
            }
            else
            {
                if (card > 8)
                {
                    return map[2, card];
                }
                else
                {
                    return map[1, card];
                }
            }
4

3 に答える 3

0

ボタンの配列を使用できます

   Button[] buttonArray = new Button[10];
于 2013-10-19T19:09:23.110 に答える
0

タイプ別にフォームからすべてのボタンを取得し、配列を抽出できます。

public Button[] AllButtons()
    {
        var buttons = new List<Button>();

        foreach (var control in this.Controls)
        {
            if (control.GetType() == typeof(Button))
                buttons.Add((Button)control);
        }

        return buttons.ToArray();
    }
于 2013-10-19T19:18:33.497 に答える
0

Controls.Find() を使用して、名前に基づいて目的のボタンへの参照を取得することもできます。

        int i = 1;
        Control[] matches = this.Controls.Find("Card" + i.ToString(), true);
        if (matches.Length > 0 && matches[0] is Button)
        {
            Button btn = (Button)matches[0];
            // ... do something with "btn" ...
            btn.PerformClick();
        }
于 2013-10-19T19:40:57.137 に答える