Obtenir la valeur de retour de la touche enfoncée

J'ai un formulaire qui apparaît à un événement spécifique. Il établit des boutons à partir d'un tableau et définit la valeur de Balise à une valeur spécifique. Donc, si vous êtes à la presse ou cliquez sur ce bouton, la fonction doit retourner la valeur du Tag.

Comment puis-je faire cela? Et comment puis-je savoir quel bouton a été cliqué?
En ce moment, le code renvoie DialogResult, mais je veux retourner à l'Étiquette de valeur de la fonction. Comment puis-je modifier mon code pour qu'il puisse faire cela?

public static DialogResult SelectBox(string title, string[] btnArray, string[] btnValueArray)
{
    Form form = new Form();

    Button[] buttonArray;
    buttonArray = new Button[5];

    form.Text = title;

    for (int i = 0; i < btnArray.Length; i++)
    {
        buttonArray[i] = new Button();
        buttonArray[i].Text = btnArray[i];
        buttonArray[i].Tag = new int();
        buttonArray[i].Tag = btnValueArray[i];

        buttonArray[i].TabStop = false;
        buttonArray[i].Location = new System.Drawing.Point(0, i * 40);
        buttonArray[i].Size = new System.Drawing.Size(240, 40);
    }

    form.ClientSize = new Size(240, 268);
    form.Controls.AddRange(new Control[] { buttonArray[0], buttonArray[1], buttonArray[2] });
    form.FormBorderStyle = FormBorderStyle.FixedDialog;
    form.StartPosition = FormStartPosition.CenterScreen;
    form.MinimizeBox = false;
    form.MaximizeBox = false;

    DialogResult dialogResult = form.ShowDialog();
    return dialogResult;
}

OriginalL'auteur Arto Uusikangas | 2011-01-25