2010-02-11 14 views
12

Mam jedną metodę o nazwie ChangeFormBackground (kolor colorName) która zmienia tło tworzą z colorname który jest parametrem method.Now gdy zgłoszę w tej metodzie nie mam nazwy koloru, ale kod szesnastkowy koloru i chcę zmienić kolor tła formularza za pomocą tego kodu szesnastkowego przy użyciu tej metody, a następnie co mam zrobić?Zmiana koloru tła formularza z kodem szesnastkowym

Odpowiedz

5

To zawsze działa, ponieważ nie zawiera koloru alfa (który nie jest obsługiwany przez mienia Backcolor):

Color temp = Color.FromArgb(0xFF00FF); 
Color result = Color.FromArgb(temp.R, temp.G, temp.B); 
+0

Dzięki za odpowiedź – Harikrishna

+0

Która alfa ma wartość 'Color.Fr omArgb (0xFF00FF); 'użyć? –

22
using System.Windows.Media; 
Color color = (Color)ColorConverter.ConvertFromString("#FFDFD991"); 

(zakłada to wartość ARGB)

lub

Color color = System.Drawing.ColorTranslator.FromHtml("#FFCC66"); 
+0

Dzięki za odpowiedź – Harikrishna

2

Można użyć metody FromArgb:

Color.FromArgb(0x78FF0000); 
+0

Pamiętaj, że Form.BackColor nie obsługuje alpha/transparancy – Webleeuw

+0

Dziękujemy za odpowiedź – Harikrishna