Butoom szybkie przypisanie

Butoom szybkie przypisanie
K4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 113
0

Witam,

Kopiuj
                button1.Enabled = false;
                button2.Enabled = false;
                button3.Enabled = false;
                button4.Enabled = false;
                button5.Enabled = false;
                button6.Enabled = false;
                button7.Enabled = false;
                button8.Enabled = false;
                button9.Enabled = false;

czy można to zrobić szybciej wstawić zamiast cyfr [i] i przejechać w pętli po wszystkich buttonach i wstawić false?
Pozdrawiam

dam1an
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1589
0

Tak, te buttony powinieneś dodać najpierw do jakiejś tablicy lub kolekcji. Lub może dodałeś je do jednego panelu wtedy też będzie je łatwo wyciągnąć i przelecieć pętlą. Musisz powiedzieć jak to masz zrobione.

mto9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 380
0
Kopiuj
for (int i = 1; i <= 9; i++) this.Controls["button" + i.ToString()].Enabled = false;
 
somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0
dam1an napisał(a):

Tak, te buttony powinieneś dodać najpierw do jakiejś tablicy lub kolekcji. Lub może dodałeś je do jednego panelu wtedy też będzie je łatwo wyciągnąć i przelecieć pętlą. Musisz powiedzieć jak to masz zrobione.

Ale po co je dodawać do kolekcji, skoro one już są w kolekcji?

Pętlą:

Kopiuj
foreach (Control control in this.Controls)
{
    if (control is Button)
    {
        control.Enabled = false;
    }
}

LINQ:

Kopiuj
this.Controls.OfType<Button>().ToList().ForEach(b => b.Enabled = false);

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.