Czy w systemie Windows można odzyskać kolor używany jako kolor tła nieaktywnych elementów sterujących (TextBox
itd.)? A może jeszcze kolor obramowania?Nieaktywny kolor tła sterowania
To jest dla Windows Forms i nie byłem w stanie znaleźć niczego odpowiedniego w SystemColors
. Nie ma takiej rzeczy. Przypadek taki. Mam pole tekstowe, które może nie być wystarczająco duże dla tekstu, który ma i jest wyłączone. Gdy jest wyłączona, użytkownik nie może przewinąć, aby wyświetlić cały tekst, a nawet nie mogę wyświetlić etykiety narzędziowej for obvious reasons.
Więc to, co teraz zrobiłem, to ustawienie właściwości TextBox
'ReadOnly
na true
, która pozwala mi wyświetlać podpowiedzi i kontrolować przewijanie. Klient chce teraz, aby pole tekstowe wyglądało tak, jakby było wyłączone; ReadOnly
to dość nieprzyjemna właściwość, ponieważ nadal wygląda ona tak: wygląda na, tak jak można edytować. Pomyślałem więc, że umieszczenie odpowiedniego koloru tła może wystarczyć, by oszukać większość użytkowników. Nie mogę użyć arbitralnej wartości szarości, ponieważ w tym formularzu są również inne wyłączone elementy sterujące, a różnice w kolorach mogłyby zostać zauważone. Czy istnieje sposób, w jaki mogę dowiedzieć się, jak wyłączony formant jest renderowany? Kolor tła i kolor obramowania lub przynajmniej ten pierwszy powinien tu wystarczyć, ale wolałbym nie zgadywać. Platformy, o których mowa, to najprawdopodobniej XP i Vista, być może z motywami lub bez nich.
ETA: Nieprzestrzeganie. Pytanie było głupie i błąd w moim imieniu powinienem był zauważyć wcześniej. To było trochę dziwne, że pojedynczy TextBox nie przylega do szarego tła.
myślę, że to jest raczej ustalono, że pola tekstowe z „szarej” (jak w 'SystemColors.Control') nie są edytowalne, więc nie będę naprawdę rozważyć ten problem. Ale jeśli klient tak mówi, to znaczy, że klient tak mówi. –
Cóż, nie wiedziałem * co * dokładnie szare. Fakt, że wciąż mogą skoncentrować kontrolę za pomocą opcji "ReadOnly = true", jest prawdopodobnie dla nich niezauważalny. Na szczęście :-) – Joey
Już miałem powiedzieć to samo. Ponieważ pola tekstowe tylko do odczytu mają ten sam kolor tła co wyłączone pola tekstowe, wyglądają one tylko do odczytu, jeśli mnie o to poprosisz. – bernhof