8
votes

Comment puis-je obtenir les commandes du bouton dans le formulaire Windows -

Obtenez tous les boutons dans un formulaire, y compris les boutons du panneau de la même forme ..


3 commentaires

Votre question n'est pas assez claire.


Vérifiez ceci Stackoverflow.com/questions/3419159/...


Vous pouvez également vérifier ceci: Stackoverflow.com/Questtions/253937 / ...


3 Réponses :


1
votes

Essayez ceci xxx


1 commentaires

La récursion peut utiliser en cas de panneau contient un autre panneau avec un bouton.



12
votes
 List<Control> list = new List<Control>();

            GetAllControl(this, list);

            foreach (Control control in list)
            {
                if (control.GetType() == typeof(Button))
                {
                    //all btn
                }
            }

        private void GetAllControl(Control c , List<Control> list)
        {
            foreach (Control control in c.Controls)
            {
                list.Add(control);

                if (control.GetType() == typeof(Panel))
                    GetAllControl(control , list);
            }
        }

0 commentaires

5
votes

Voici ce que j'ai fait, J'ai écrit une fonction simple, lorsque je clique sur un bouton, je sélectionne uniquement le contrôle du panneau et transmettez-le à une fonction pour une boucle supplémentaire via la commande sur ce panneau.

private void cmdfind_Click(object sender, EventArgs e)
    {
        try
        {
            foreach (Control control in this.Controls)
            {
                if (control.GetType() == typeof(Panel))
                    //AddToList((Panel)control); //this function pass the panel object so further processing can be done 
            }                         
        }
        catch (System.Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

    }


0 commentaires