मैं एप्लिकेशन लॉग प्रदर्शित करने के लिए RichTextBox नियंत्रण का उपयोग कर रहा हूं। मैं RichTextBox :: AppendText विधि की कुछ कॉल के साथ एक बार एक बार नियंत्रण अद्यतन कर रहा हूं। मेरे लिए वास्तव में परेशान करना यह है कि कर्सर टेक्स्ट की आखिरी पंक्ति पर स्क्रॉल करता रहता है। स्थिति में यह बहुत ही असहज है जब उपयोगकर्ता को शुरुआत में लॉग का विश्लेषण करने की आवश्यकता होती है। मैं मेरी समस्या के लिए निम्न समाधान की कोशिश की है: क्योंकि नियंत्रण समय-समय पर redrawed की जा रही है जो बहुत ध्यान भंग हैRichTextBox ऑटोस्कोल को अक्षम करना
int pos = tb_logs.SelectionStart;
tb_logs.AppendText("log message");
tb_logs.SelectionStart = pos;
यह समस्या के मूल करने के लिए जाना नहीं है। क्या कुछ क्लीनर समाधान है?
यह थोड़ा अजीब अंत करने के लिए जा स्पष्ट रूप से कहीं न कहीं से किया जाना चाहिए, क्योंकि लगता है काम कर सकते हैं। क्या आप सुनिश्चित हैं कि संलग्न कोड अंत में चयन को सेट नहीं करेगा? –
नहीं, बस एपेंडटेक्स्ट ("टेक्स्ट"), एपेंडटेक्स्ट ("\ t"), एपेंडटेक्स्ट ("\ n") – truthseeker
मुझे दिलचस्प चीज़ मिली। Autoscroll तभी होता है जब टेक्स्ट क्षेत्र पर ध्यान केंद्रित किया जाता है। टेक्स्ट एरिया में क्लिक करने के बाद चीजें गलत हो जाती हैं। अगर मैं इसमें क्लिक नहीं करता हूं, तो मैं नए संदेश जोड़े जाने के साथ-साथ स्क्रॉलबार के साथ संदेशों को स्क्रॉल कर सकता हूं और टेक्स्ट कूद नहीं रहा है। – truthseeker