Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
209 views
in Technique[技术] by (71.8m points)

c# - Referencing buttons with numbers

Is there a way to reference buttons using a numerical value in C#? I am trying to manipulate the text on buttons using one reusable method. Here is my current coding: One button click method (there are a total of 16):

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

And the reusable method (the code does have holes, it's in development):

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];
                }
            }
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can also use Controls.Find() to get a reference to your desired button based on its name:

        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();
        }

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...