2010-07-08 13 views
17

मैं एक पाठ बॉक्स है, और मुझे निम्न कोड पंक्ति के साथ यह करने के लिए मुद्रित करने के लिए कोशिश कर रहा हूँ:सी # - पाठ बॉक्स Newline समस्याएं

logfiletextbox.Text = logfiletextbox.Text + "\n\n\n\n\n" + o + " copied to " + folderlabel2.Text; 

कहाँ folderlabel 2 स्पष्ट रूप से एक पाठ बॉक्स है। मैंने जो पहली चीज़ डाली है वह वही टेक्स्टबॉक्स है, ताकि कोई टेक्स्ट मिटा न जाए। अत्यधिक नई लाइनों ने मेरी समस्या साबित कर दी है, क्योंकि टेक्स्टबॉक्स में कोई नई लाइन नहीं है (हां, मल्टीलाइन पर सेट करें)। "ओ" फ़ाइलइन्फो सरणी में FileInfo प्रकार का है।

इन न्यूलाइनों को टेक्स्ट बॉक्स में क्यों नहीं दिखाया जाएगा?

+1

टेक्स्टबॉक्स \ r \ n में डालने पर आपको CRLF जोड़े का उपयोग करने की आवश्यकता है। – Bill

उत्तर

37

"\ n" के बजाय "\ r \ n" का प्रयोग करें। विंडोज टेक्स्ट बॉक्सों को सीआरएलएफ को लाइन टर्मिनेटर के रूप में चाहिए, न सिर्फ एलएफ।

संभावित आप उपयोग Environment.NewLine बजाय सकता है - लेकिन मैं क्या मोनो बक्सें के साथ "\ n" (जो है क्या Environment.NewLine एक लिनक्स बॉक्स पर होगा) काम कर के मामले में क्या पता नहीं है। यदि आप "\ r \ n" का उपयोग करते हैं तो अंत में अतिरिक्त सामान डालना शुरू कर देता है, तो यह मौजूदा ऐप्स को तोड़ देगा - लेकिन यदि को "\ r \ n" की आवश्यकता है जो Environment.NewLine का उपयोग करने वाले ऐप्स को तोड़ देगा।

Environment.NewLine आपके द्वारा चलाए जा रहे पूरे प्लेटफ़ॉर्म के लिए डिफ़ॉल्ट नई पंक्ति होने का मतलब है - लेकिन यदि आप एक विजेट टूलकिट का उपयोग कर रहे हैं जो एक चीज करता है, लेकिन पाठ फ़ाइलें आम तौर पर कुछ और करती हैं? वाकई यह एक गड़बड़ है। यह अच्छा होगा अगर अलग TextBox.NewLine संपत्ति हो जो अलग-अलग कार्यान्वयन उचित तरीके से संभाल सके।

+6

या इससे भी बेहतर, 'पर्यावरण। न्यूलाइन' का उपयोग करें। – Bobby

+0

@ बॉबी: मुझे यकीन नहीं है कि यह * बेहतर है - मेरा संपादन देखें। –

+1

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

3

मेरा मानना ​​है कि बक्सें चाहते एक Environment.NewLine (जो होना चाहिए "\ r \ n")

ध्यान दें कि यह गाड़ी वापसी (\ r) नई लाइन (\ N) द्वारा पीछा किया जाना चाहिए। यदि आप आदेश को उलट देते हैं, तो यह काम नहीं करेगा।

2

एक टेक्स्टबॉक्स नियंत्रण आपकी लाइन फ़ीड्स (0x0D 0x0A) से पहले कैरिज रिटर्न की अपेक्षा करता है। "\r\n" या System.Environment.Newline का उपयोग करें।

की जगह में
+1

वाह ... हर कोई इस पर है। – mattmc3

2

\ का उपयोग कर n हम

Environment.NewLine

उपयोग कर सकते हैं मैं आशा है कि यह मदद मिलेगी

0

यह मैं कैसे प्रदर्शन txtitems.Text के लिए संलग्न और नई लाइन बनाया है = txtitems.Text + पर्यावरण। न्यूलाइन + डॉ [0]। टोस्टिंग() + "" + डॉ [1]। टोस्टिंग();

0

किसी को भी कि VB.net उपयोग कर रहा है, vbCr बचाव का ध्यान रखें

यहाँ एक उदाहरण है:

वापसी & vbCr & "जॉन" & vbCr & "डो" मेरा नाम है " "

संबंधित मुद्दे