C # कोड में WPF टेक्स्टबॉक्स का बैकग्राउंड कलर सेट करें


181

मैं प्रोग्रामिक रूप से C # में WPF टेक्स्टबॉक्स की पृष्ठभूमि और अग्रभूमि रंग कैसे बदल सकता हूं?

जवाबों:


335
textBox1.Background = Brushes.Blue;
textBox1.Foreground = Brushes.Yellow;

WPF फोरग्राउंड और बैकग्राउंड टाइप का होता है System.Windows.Media.Brush। आप इस तरह से एक और रंग सेट कर सकते हैं:

using System.Windows.Media;

textBox1.Background = Brushes.White;
textBox1.Background = new SolidColorBrush(Colors.White);
textBox1.Background = new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0, 0));
textBox1.Background = System.Windows.SystemColors.MenuHighlightBrush;

2
अगर हम रंग विशेषता के लिए एक हेक्स मान सेट करना चाहते हैं, तो यह कैसे किया जा सकता है ??
सौरॉन

11
आप ब्रश ब्रश = न्यू सॉलिडकोलरब्रश (Color.FromRgb (r, g, b)) जैसे कुछ का उपयोग कर सकते हैं;
टिम्बो

3
वहाँ भी बहुत सुंदर है LinearGradientBrush:)
BlueRaja - डैनी Pflughoeft

6
System.Windows.Media को शामिल करना सुनिश्चित करें।
13:20

98

यदि आप एक हेक्स रंग का उपयोग करके पृष्ठभूमि सेट करना चाहते हैं तो आप ऐसा कर सकते हैं:

var bc = new BrushConverter();

myTextBox.Background = (Brush)bc.ConvertFrom("#FFXXXXXX");

या आप XAML में एक SolidColorBrush संसाधन सेट कर सकते हैं, और फिर कोड-बैक में findResource का उपयोग करें:

<SolidColorBrush x:Key="BrushFFXXXXXX">#FF8D8A8A</SolidColorBrush>
myTextBox.Background = (Brush)Application.Current.MainWindow.FindResource("BrushFFXXXXXX");

यह उपयोग करने के लिए बहुत बेहतर है (System.Windows.Media.Brush)Application.Current.FindResource("BrushFFXXXXX");क्योंकि यदि भविष्य में कई डिस्पैचर थ्रेड्स का उपयोग करने के लिए इसे अपग्रेड किया जाता है तो आपके एप्लिकेशन को थ्रेडिंग अपवाद नहीं फेंकना होगा।
कंटैंगो

24

मुझे लगता है कि आप XAML में TextBox बना रहे हैं?

उस स्थिति में, आपको टेक्स्ट बॉक्स को एक नाम देना होगा। फिर कोड-पीछे में आप विभिन्न प्रकार के ब्रश का उपयोग करके पृष्ठभूमि की संपत्ति सेट कर सकते हैं। इनमें से सबसे सरल है सॉलिडकोलरब्रश:

myTextBox.Background = new SolidColorBrush(Colors.White);



हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.