मेरे पास मल्टीलाइन टेक्स्टबॉक्स में डेटाबेस से कुछ पाठ आ रहा है, मैं इसे क्लिपबोर्ड पर कैसे कॉपी कर सकता हूं ताकि उपयोगकर्ता इसे किसी अन्य विंडो या फ़ाइल में पेस्ट कर सके (उदा। मेरे एप्लिकेशन से दूसरे टेक्स्टबॉक्स में)? या यदि संभव हो तो नोटपैड/शब्द फ़ाइल के लिए।सी # में क्लिपबोर्ड पर एक मल्टीलाइन टेक्स्टबॉक्स की सामग्री की प्रतिलिपि कैसे करें?
उत्तर
Clipboard.Clear(); //Clear if any old value is there in Clipboard
Clipboard.SetText("abc"); //Copy text to Clipboard
string strClip = Clipboard.GetText(); //Get text from Clipboard
System.Windows.Forms.Clipboard.SetText (..)
http://msdn.microsoft.com/en-us/library/system.windows.forms.clipboard.settext.aspx
नकल पाठ में कोई अंतर नहीं है और क्लिपबोर्ड से Clipboard.SetText()
का उपयोग कर एक या बहु TextBox
से नहीं है (और निश्चित रूप से Clipboard.GetText()
)। TextBox
में अभी भी एक एकल String
होगा, चाहे इसमें लाइन ब्रेक हों या नहीं। यह केवल आंख कैंडी है।
एक सीमा परिप्रेक्ष्य से, आपकी ClipBoard.SetText()
विधि हमेशा एक ही स्ट्रिंग को स्वीकार करेगी, इसका आकार केवल उस समय तक सीमित स्मृति की मात्रा तक ही सीमित होगा।
इस पाठ को मैन्युअल रूप से नोटपैड या वर्ड जैसे अनुप्रयोगों में पेस्ट करने के लिए कोई विशेष कोड आवश्यक नहीं है।
Clipboard.SetText(yourTextBox.Text);
आपको बस इतना ही चाहिए।
पाठ में लाइनों की बचत के लिए आप उदाहरण के रूप में बदल दिया जाना चाहिए newline चरित्र को "\ n",:
string textforClipboard = TextBox1.Text.Replace("\n", Environment.NewLine);
Clipboard.Clear();
Clipboard.SetText(textforClipboard);