2009-02-26 3 views
6

में केवल पढ़ने के लिए टेक्स्टबॉक्स C# में, मैं दो टेक्स्टबॉक्स वाले लैन मैसेंजर के लिए एक फॉर्म विंडो बना रहा हूं। मुझे केवल पढ़ने के लिए एक विशेष टेक्स्टबॉक्स बनाना होगा, लेकिन इसमें सबमिट किया गया कोई भी पाठ ग्रे दिखाई दे रहा है जो वांछनीय नहीं है। क्या कोई रास्ता है जिसे रोका जा सकता है?सी #

उत्तर

0

ग्रे रंग टेक्स्टबॉक्स की केवल पढ़ने की स्थिति का संकेतक है। यह उस उपयोगकर्ता को एक दृश्य संकेत है जिसे टेक्स्ट बॉक्स में वास्तव में अक्षम करने के लिए टेक्स्ट दर्ज करने की आवश्यकता नहीं होगी।

यदि आपको केवल पढ़ने वाले व्यवहार की आवश्यकता है, तो आप इसके बजाय लेबल का उपयोग करना बेहतर होगा। पाठ बॉक्स की स्थापनाForeColor द्वारा

void textBox1_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    e.Handled = true; 
} 
6

आप एक लेबल के साथ या कुंजी दबाने घटना में पाठ बॉक्स पर इसे बदलना सकता है सच करने के लिए संभाला सेट संपत्ति।

उदाहरण के लिए:

myTextBox.ForeColor = Color.Black

+3

मैं व्यक्तिगत रूप से इस दृष्टिकोण से नफरत करता हूं क्योंकि उपयोगकर्ता अभी भी सोचता है कि वे टेक्स्ट संपादित कर सकते हैं और फिर आश्चर्यचकित हो जाते हैं जब वे जो अक्षर टाइप करते हैं, वे कुछ भी नहीं करते हैं। –

+0

मैं सहमत हूं, लेकिन ऐसा लगता है कि प्रश्न पूछने वाला व्यक्ति एक अक्षम टेक्स्टबॉक्स में ग्रे टेक्स्ट के बारे में चिंतित था, यह पेंट इवेंट विरासत और ओवरराइड करने से सरल है। – benPearce

+0

ReadOnly = सत्य भी आसान है –

2

आप पाठ का रंग सेट कर सकते हैं:

22

मैं एक पाठ बॉक्स का उपयोग करें और सही है, Color.Black को ForeColor, और Color.White को BackColor तक केवल पढ़ने के लिए सेट होगा। इस तरह आप अभी भी टेक्स्ट का चयन कर सकते हैं और Ctrl-C के साथ इसकी प्रतिलिपि बना सकते हैं।

+0

पुराना धागा, लेकिन मुझे यह उपयोगी पाया। टेक्स्टबॉक्स सामान्य दिखता है, सिवाय इसके कि आप इसमें टाइप नहीं कर सकते हैं। चीयर्स! – Anders

1

टेक्स्टबॉक्स को सफेद (या विंडो) को केवल पढ़ने के लिए रखने के लिए, आपको स्पष्ट रूप से बैककोलर प्रॉपर्टी को विंडो में सेट करना होगा। ऐसा करने के लिए, आपको पहले बैककोलर को किसी अन्य मान पर सेट करना होगा, फिर विंडो पर वापस जाना होगा। बैककलर प्रॉपर्टी बोल्ड होनी चाहिए जो इंगित करती है कि यह अब डिफ़ॉल्ट मान नहीं है।