Butoom szybkie przypisanie

Odpowiedz Nowy wątek
2015-01-12 18:37
0

Witam,

                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

edytowany 1x, ostatnio: krisrk4, 2015-01-12 18:38

Pozostało 580 znaków

2015-01-12 18:45
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.

"przelecieć" zawsze zastanawiam się jak to słowo zamienić ;p - Trebuh 2015-01-12 18:58
Tak się zastanawiałem że może to zamienić bo się komuś skojarzy, ale później pomyślałem: e tam walić to :P - dam1an 2015-01-12 19:05
iterować? zamiast przelecieć pętlą ;> - DibbyDum 2015-01-12 19:06
@DibbyDum: +1, takiego słowa szukałem ;) - Trebuh 2015-01-12 20:13

Pozostało 580 znaków

2015-01-12 19:20
0
for (int i = 1; i <= 9; i++) this.Controls["button" + i.ToString()].Enabled = false;

Pozostało 580 znaków

2015-01-12 20:10
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ą:

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

LINQ:

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

"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."
edytowany 1x, ostatnio: somekind, 2015-01-12 20:11
Jeśli wszystkie są w jednej formie, a nie porozrzucane po różnych formach i panelach to tak. - dam1an 2015-01-12 20:18
to ToList nie jest potrzebne. - Azarien 2015-01-12 20:31
Jest bo ForEach zadziała tylko na List&lt;T&gt; na IEnumerable&lt;T&gt; nie przejdzie. - DibbyDum 2015-01-12 20:37

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0