जब भी मैं RichTextBox.Enabled
संपत्ति को गलत पर सेट करता हूं, तो इसका पृष्ठभूमि रंग स्वचालित रूप से ग्रे पर सेट हो जाता है क्योंकि यह नियंत्रण कक्ष में सेट सिस्टम रंग में रंग पर सेट होता है। अगर मैं इसे अक्षम करने के लिए सेट करता हूं तो भी मैं अपना रंग काला में कैसे बदल सकता हूं?अक्षम होने पर समृद्ध टेक्स्ट बॉक्स के पृष्ठभूमि रंग को कैसे बदला जाए?
उत्तर
देखें: How to change the font color of a disabled TextBox?
[संपादित करें - कोड उदाहरण जोड़ा]
richTextBox.TabStop = false;
richTextBox.ReadOnly = true;
richTextBox.BackColor = Color.DimGray;
richTextBox.Cursor = Cursors.Arrow;
richTextBox.Enter += richTextBox_Enter;
private void richTextBox_Enter(object sender, EventArgs e)
{
// you need to set the focus somewhere else. Eg a label.
SomeOtherControl.Focus();
}
या एन विस्तार पद्धति के रूप में (मुझे एहसास हुआ कि आप घटना दर्ज के बाद से केवल पढ़ने में रख की जरूरत नहीं है किसी भी इनपुट पकड़ता):
public static class MyExtensions
{
public static void Disable(this Control control, Control focusTarget)
{
control.TabStop = false;
control.BackColor = Color.DimGray;
control.Cursor = Cursors.Arrow;
control.Enter += delegate { focusTarget.Focus(); };
}
}
DrawStringDisabled Method पर एक नज़र डालें। आपको OnPaint विधि ओवरराइड करना होगा और फिर DrawStringDisabled विधि का उपयोग करना होगा। लेकिन, अगर मैं आपकी जगह पर था तो मैं Mikael Svenson's उत्तर के साथ जाऊंगा।
के नीचे कस्टम रिचटेक्स्टबॉक्स बनाएं, यह एक पारदर्शी बैककलर के साथ एक रिचटेक्स्टबॉक्स का उत्पादन करेगा। फिर आप इस नियंत्रण को एक उपयुक्त रंगीन पैनल पर रख सकते हैं।
Public Class MyRichTextBox
Inherits RichTextBox
<DllImport("kernel32.dll", CharSet:=CharSet.Auto)> _
Shared Function LoadLibrary(ByVal lpFileName As String) As IntPtr
End Function
Protected Overloads Overrides ReadOnly Property CreateParams() As CreateParams
Get
Dim prams As CreateParams = MyBase.CreateParams
If LoadLibrary("msftedit.dll") <> IntPtr.Zero Then
prams.ExStyle = prams.ExStyle Or &H20 'Makes Transparent
prams.ClassName = "RICHEDIT50W"
End If
Return prams
End Get
End Property
इसके देर से, लेकिन इसके नहीं एक बुरी तरह से,
private void richTextBox1_ReadOnlyChanged(object sender, EventArgs e)
{
//just here instead of White select your color
richTextBox1.BackColor = Color.White;
}
private void Form1_Load(object sender, EventArgs e)
{
richTextBox1.ReadOnly = true;
}
अपने इच्छित रंग को backcolor प्रॉपर्टी सेट और फिर richtextbox तक केवल पढ़ने के सेट करने के लिए।
पूर्व:
richTextBox.BackColor = Color.White;
richTextBox.ReadOnly = true;
काफी काम नहीं करता है, रीडोनली अभी भी चयन, स्क्रॉलिंग इत्यादि की अनुमति देता है –
+1 क्योंकि मेरी स्थिति में सक्षम/अक्षम व्यवहार अविश्वसनीय लग रहा था जब ShowSelectionMargin को सत्य पर सेट किया गया था। –
मैं सिर्फ इतना है कि ऐसा करने का एक शानदार तरीका मिल गया है। यह किसी भी नियंत्रण के साथ काम करना चाहिए:
public class DisabledRichTextBox : System.Windows.Forms.RichTextBox
{
// See: http://wiki.winehq.org/List_Of_Windows_Messages
private const int WM_SETFOCUS = 0x07;
private const int WM_ENABLE = 0x0A;
private const int WM_SETCURSOR = 0x20;
protected override void WndProc(ref System.Windows.Forms.Message m)
{
if (!(m.Msg == WM_SETFOCUS || m.Msg == WM_ENABLE || m.Msg == WM_SETCURSOR))
base.WndProc(ref m);
}
}
आप सुरक्षित रूप से सही और ReadOnly = false सक्षम सेट कर सकते हैं =, और यह एक लेबल की तरह कार्य करेगा, ध्यान, उपयोगकर्ता इनपुट, कर्सर परिवर्तन को रोकने, वास्तव में अक्षम किया जा रहा बिना।
देखें कि यह आपके लिए काम करता है या नहीं। ग्रीटिंग्स
- 1. सिल्वरलाइट में टेक्स्टब्लॉक के पृष्ठभूमि रंग को कैसे बदला जाए?
- 2. jQuery UI संवाद के पृष्ठभूमि रंग को कैसे बदला जाए?
- 3. जॉप्शनपेन के पृष्ठभूमि रंग को कैसे बदला जाए?
- 4. इंटरनेट एक्सप्लोरर में चयनित टेक्स्ट रंग को कैसे बदला जाए?
- 5. Qt में QCheckBox टेक्स्ट लेबल रंग को कैसे बदला जाए?
- 6. मल्टीइलेक्ट ड्रॉपडाउन बॉक्स में चयनित वस्तुओं के पृष्ठभूमि रंग को कैसे बदला जाए?
- 7. चयनित टैब रंग नीले रंग के यूआईटीएबीबार के पृष्ठभूमि रंग को कैसे बदला जाए?
- 8. मैक ओएस एक्स पर टिंकर बटन के अग्रभूमि या पृष्ठभूमि रंग को कैसे बदला जाए?
- 9. दिनांक अद्यतन होने पर डेटटाइम फ़ील्ड को कैसे बदला जाए?
- 10. TabView की पृष्ठभूमि शैली को कैसे बदला जाए?
- 11. अक्षम होने पर एंड्रॉइड टेक्स्ट व्यू रंग बदलता नहीं है
- 12. जीएलएसएल के साथ बनावट के रंग को कैसे बदला जाए?
- 13. टेक्स्ट बॉक्स नियंत्रण में टेक्स्ट रैपिंग को अक्षम कैसे करें?
- 14. नेटबीन्स में डीबग प्रक्रिया के दौरान लाइन हाइलाइटिंग के पृष्ठभूमि रंग को कैसे बदला जाए?
- 15. Devexpress ग्रिड में किसी सेल के पृष्ठभूमि रंग को कैसे बदला जाए?
- 16. विजुअल स्टूडियो 2008 में 'कोड परिभाषा' विंडो के पृष्ठभूमि रंग को कैसे बदला जाए?
- 17. wp7 एप्लिकेशन में xaml पेज के पृष्ठभूमि रंग को कैसे बदला जाए?
- 18. लाइट बॉक्स पृष्ठभूमि रंग सीएसएस
- 19. अक्षम इनपुट टेक्स्ट रंग
- 20. एंड्रॉइड में वरीयता श्रेणी के टेक्स्ट रंग को कैसे बदला जाए?
- 21. समूह बॉक्स टेक्स्ट रंग बदलें?
- 22. आरजीबी रंग को एचएसवी में कैसे बदला जाए?
- 23. आईफोन पर सफारी अक्षम होने पर कैसे पता लगाया जाए
- 24. एंड्रॉइड: संपादन टेक्स्ट की शैली को कैसे बदला जाए?
- 25. ऐप लॉन्च होने पर लोड होने वाले डिफ़ॉल्ट व्यू कंट्रोलर को कैसे बदला जाए?
- 26. रंग बॉक्स
- 27. निष्क्रिय नियंत्रण पृष्ठभूमि रंग
- 28. IE में फ़ाइल इनपुट टेक्स्ट बॉक्स को अक्षम कैसे करें?
- 29. स्टब्स के व्यवहार को कैसे बदला जाए?
- 30. सीएसएस: छवि पर बॉक्स + टेक्स्ट
यह मेरी बात नहीं है! – Badr
@moon: हाँ यह है। –
@moon: हां यह है, आपको नियंत्रण को सेट करने और इसे अक्षम करने के बजाय मैन्युअल रूप से अपने रंग सेट करना होगा। नियंत्रण को अक्षम करने से ओएस सेटिंग्स का उपयोग किया जाएगा कि यह कैसे प्रदान किया जाता है। –