Texbox - pobieranie korolu tła

0

Witam wszystkich.

Mam banalny problem. Mam tablicę texbox-ów i chcę aby pętla mi sprawdzała czy których z texbox-ów ma tło np. czerwone, jeśli tak to żeby wyświetliło przykładowy komunikat oraz przerywało pętlę.
Stworzyłem coś takiego ale nie działa :-/

TextBox[] tabTxt = { txtU1, txtI1, txtFi1, txtU2, txtI2, txtFi2, txtU3, txtI3, txtFi3, txtHz, txtU12, txtU13 };
            bool x = false;
            foreach (TextBox s in tabTxt)
            {
                string text = s.BackColor.ToString;
                if (text == "Red")
                {
                    x = true;
                    break;
                }
            }
          
            if (x)
            {
                MessageBox.Show("Przykładowy tekst");
            }
            else
            {
                .......
            }

Proszę wybaczyć za poziom pytania, ale z C# bawię się od niedawna. Za wszelką pomoc z góry dziękuję

Pozdrawiam.

0

A po co zamieniasz BackColor w string? Na dodatek niepoprawnie?

TextBox[] tab = { textBox1, textBox2, textBox3, textBox4, textBox5, textBox6 };
foreach (TextBox t in tab)
    if (t.BackColor == Color.FromKnownColor(KnownColor.Red))
    {
        MessageBox.Show("TextBox o nazwie: " + t.Name + " ma czerwone tło!");
        break;
    }

Wersja bez tablicy:

foreach(Control c in this.Controls)
    if(c is TextBox && c.BackColor == Color.FromKnownColor(KnownColor.Red))
    {
        MessageBox.Show("TextBox o nazwie: " + c.Name + " ma czerwone tło!");
        break;
    }

To chyba nie jest dział na takie pytania.

0

To chyba nie jest dział na takie pytania.

Chyba jednak jest. Jest to przecież dział dotyczący C#. I jesteśmy zobowiązani pomagać tu zarówno początkującym, jak i mistrzom poszukującym nowych wrażeń z językiem :d .

0

Wiem, że pytanie jest trywialne, ale nie mogłem sobie z tym poradzić.
Dzięki za pomoc somekind, ale to co podałeś, u mnie nie działa.
Wyświetla mi błąd:

System.Drawing.Color' does not contain a definition for 'FromKnownColor',
The name 'KnownColor' does not exist in the current context

Proszę o wyrozumiałość, i pomoc ;-(

0

A dopisałeś na poczatku
using System.Drawing;?

0

A dopisałeś na poczatku
using System.Drawing;

Tak.

0
hubert_nnn napisał(a)

I jesteśmy zobowiązani pomagać tu zarówno początkującym, jak i mistrzom poszukującym nowych wrażeń z językiem :d .

Nie wiem, jak Ty, ale ja żadnych zobowiązań nie podpisywałem ;)

slamerdamer napisał(a)

Wyświetla mi błąd:

System.Drawing.Color' does not contain a definition for 'FromKnownColor',
The name 'KnownColor' does not exist in the current context

To nie wiem - powinno działać. Pokaż może więcej kodu.

Zresztą sam nie wiem, po co to tak zamotałem, przecież wystarczy po prostu:

if (t.BackColor == Color.Red)
0

Dzięki somekind. Działa.
Chociaż do końca nie rozumiem, ponieważ jak mnie pamięć nie myli to tak też próbowałem, i nie chciało działać, no ale znając siebie to pewnie coś musiałem spaprać.
Najważniejsze, że teraz jest ok.
Mam nadzięję, żę więcej nie będę musiał prosić o pomoc w takich banalnych rzeczach.
Jeszcze raz dzięki za pomoc.

0

Najprawdpodobniej KnownColors nie ma w compact framework.

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