2009-12-10 30 views
6

वहाँ विंडोज पर एक तरह से रंग निष्क्रिय नियंत्रण के लिए पृष्ठभूमि रंग के रूप में इस्तेमाल (TextBox, आदि) को पुनः प्राप्त करने है? या बेहतर अभी तक, सीमा रंग भी?निष्क्रिय नियंत्रण पृष्ठभूमि रंग

यह विंडोज फार्म के लिए है और मैं SystemColors में उपयुक्त कुछ भी खोजने के लिए नहीं कर पाए हैं। ऐसी कोई बात बिंदु में

मामला है। मेरे पास एक टेक्स्ट बॉक्स है जो टेक्स्ट के लिए पर्याप्त नहीं हो सकता है और यह अक्षम है। जब यह अक्षम होता है तो उपयोगकर्ता पूरे पाठ को देखने के लिए स्क्रॉल नहीं कर सकता है और मैं टूलटिप for obvious reasons भी प्रदर्शित नहीं कर सकता।

तो मैंने जो किया है वह अब TextBox की ReadOnly संपत्ति true पर सेट कर रहा है जो मुझे टूलटिप्स प्रदर्शित करने और नियंत्रण स्क्रॉल करने योग्य बनाने की अनुमति देता है। क्लाइंट अब टेक्स्ट बॉक्स को दिखाना चाहता है जैसे इसे अक्षम कर दिया गया था; ReadOnly एक बहुत बुरा संपत्ति के बाद से यह अभी भी लगता है कि यह संपादित किया जा सकता है। इसलिए मैंने सोचा कि उचित पृष्ठभूमि रंग डालने के लिए अधिकांश उपयोगकर्ताओं को मूर्ख बनाने के लिए पर्याप्त हो सकता है। मैं एक मनमानी ग्रे मान का उपयोग नहीं कर सकता क्योंकि उस रूप में अन्य अक्षम नियंत्रण भी हैं और रंग अंतर शायद ध्यान दिए जाएंगे। तो क्या कोई तरीका है कि मैं यह पता लगा सकता हूं कि एक अक्षम नियंत्रण कैसे प्रदान किया जाता है? पृष्ठभूमि रंग और सीमा रंग या कम से कम पूर्व वास्तव में यहां पर्याप्त होना चाहिए लेकिन मैं अनुमान नहीं लगाऊंगा। सवाल में प्लेटफॉर्म संभवतः एक्सपी और विस्टा दोनों विषयों के साथ या बिना हो सकता है।

ईटीए: उपेक्षा। सवाल बेवकूफ था और मेरी ओर से एक त्रुटि मुझे पहले देखा जाना चाहिए था। यह थोड़ा अजीब था कि एक टेक्स्टबॉक्स एक भूरे रंग की पृष्ठभूमि का पालन नहीं करेगा।

+1

मुझे लगता है कि यह नहीं बल्कि स्थापित है कि "ग्रे" ('SystemColors.Control' के रूप में) के साथ बक्सें संपादन योग्य नहीं हैं, इसलिए मैं वास्तव में यह एक समस्या पर विचार नहीं होगा। लेकिन अगर ग्राहक ऐसा कहता है, तो ग्राहक ऐसा कहता है। –

+0

ठीक है, मुझे नहीं पता था * कौन सा * बिल्कुल ग्रे। तथ्य यह है कि वे अभी भी 'ReadOnly = true' के साथ नियंत्रण पर ध्यान केंद्रित कर सकते हैं, शायद उनके लिए अनजान है। शुक्र है :-) – Joey

+0

मैं वही बात कहने वाला था। चूंकि केवल-पढ़ने वाले टेक्स्टबॉक्स में समान टेक्स्ट रंग अक्षम टेक्स्टबॉक्स के रूप में होते हैं, इसलिए यदि आप मुझसे पूछते हैं तो वे केवल पढ़ने के लिए देख सकते हैं। – bernhof

उत्तर

23

अक्षम होने पर, पाठ बॉक्स पृष्ठभूमि रंग SystemColors.Control और अग्रभूमि रंग SystemColors.GrayText है।

3

इस प्रयास करें:

 treeView1.EnabledChanged += (s, o) => 
      { 
       treeView1.BackColor = treeView1.Enabled ? Color.White : SystemColors.Control; 
      }; 
संबंधित मुद्दे