রিচটেক্সটবক্স (ডাব্লুপিএফ) এর স্ট্রিং প্রপার্টি "পাঠ্য" নেই


113

আমি আমার রিচটেক্সটবক্সের পাঠ্য সেট / সেট করার চেষ্টা করছি, তবে আমি যখন পরীক্ষা দিতে চাই তখন পাঠ্যটি তার বৈশিষ্ট্যের তালিকার মধ্যে নয় ...

আমি সি # (। নেট ফ্রেমওয়ার্ক 3.5 এসপি 1) এর পিছনে কোড ব্যবহার করছি

RichTextBox test = new RichTextBox();

থাকতে পারে না test.Text(?)

আপনি কি জানেন কীভাবে এটি সম্ভব হতে পারে?

উত্তর:


122

রিচটেক্সটবক্স পাঠ্য সেট করতে :

richTextBox1.Document.Blocks.Clear();
richTextBox1.Document.Blocks.Add(new Paragraph(new Run("Text")));

থেকে পেতে RichTextBox পাঠ্য:

string richText = new TextRange(richTextBox1.Document.ContentStart, richTextBox1.Document.ContentEnd).Text;

2
কনট্রাক্টর 'রান' এর 0 টি প্যারামিটার রয়েছে তবে অনুচ্ছেদের জন্য 1 টি যুক্তি (গুলি) দিয়ে
অনুরোধ করা হয়েছে

@alvinmeimoun প্রকৃতপক্ষে। নেট 3.5 থেকে কম ওভারলোড Paragraph()ছিল (এবং এটি বৈধও ছিল - এটি উদাহরণেও রয়েছে )। Paragraph(Inline)Run(string)
ড্রাগগোমক

1
এত জটিল কেন?
prouser135

FontFamilyঅনুচ্ছেদে কীভাবে যুক্ত করবেন ?
ম্যাথিউস মিরান্ডা

64

রিসটেক্সটবক্সের মধ্যে সিস্টেম. উইন্ডোজ.ফর্ম এবং সিস্টেমে উইন্ডোজ.কন্ট্রোল মধ্যে একটি বিভ্রান্তি দেখা দিয়েছে

আমি ডাব্লুপিএফ ব্যবহার করায় নিয়ন্ত্রণের মধ্যে একটি ব্যবহার করছি। সেখানে কোনও পাঠ্য সম্পত্তি নেই, এবং একটি পাঠ্য পাওয়ার জন্য আমার এই লাইনটি ব্যবহার করা উচিত ছিল:

string myText = new TextRange(transcriberArea.Document.ContentStart, transcriberArea.Document.ContentEnd).Text; 

ধন্যবাদ


38

ডাব্লুপিএফ রিচটেক্সটবক্সের একটি আছে Document একটি এমএসডিএন সামগ্রী নির্ধারণের জন্য সম্পত্তি :

// Create a FlowDocument to contain content for the RichTextBox.
        FlowDocument myFlowDoc = new FlowDocument();

        // Add paragraphs to the FlowDocument.
        myFlowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 1")));
        myFlowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 2")));
        myFlowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 3")));
        RichTextBox myRichTextBox = new RichTextBox();

        // Add initial content to the RichTextBox.
        myRichTextBox.Document = myFlowDoc;

আপনি কেবল এই AppendTextপদ্ধতিটি ব্যবহার করতে পারেন যদিও এটি যদি আপনার পরে হয়।

আশা করি এইটি কাজ করবে.


13
string GetString(RichTextBox rtb)
{
    var textRange = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);
    return textRange.Text;
}

13

দুটি এক্সটেনশন পদ্ধতি ব্যবহার করে এটি খুব সহজ হয়ে যায়:

public static class Ext
{
    public static void SetText(this RichTextBox richTextBox, string text)
    {
        richTextBox.Document.Blocks.Clear();
        richTextBox.Document.Blocks.Add(new Paragraph(new Run(text)));
    }

    public static string GetText(this RichTextBox richTextBox)
    {
        return new TextRange(richTextBox.Document.ContentStart,
            richTextBox.Document.ContentEnd).Text;
    }
}

12

Textডাব্লুপিএফ রিচটেক্সটবক্স নিয়ন্ত্রণে কোনও সম্পত্তি নেই । সমস্ত পাঠ্য আউট করার একটি উপায় এখানে:

TextRange range = new TextRange(myRTB.Document.ContentStart, myRTB.Document.ContentEnd);

string allText = range.Text;

8

নিচের কাজগুলি সম্পর্কে কীভাবে:

_richTextBox.SelectAll();
string myText = _richTextBox.Selection.Text;

1
আমি এখনও অবধি খুঁজে পেতে পারি যে সেরা উত্তর :) আপনি যদি কোনও rtxb_input.SelectAll(); txb_InputLength.Text = rtxb_input.Selection.Text.Length.ToString();
জিইআইতে


4

"এক্সটেন্ডেড ডাব্লুপিএফ টুলকিট" এখন পাঠ্য সম্পত্তি সহ একটি রিয়েলটেক্সটবক্স সরবরাহ করে।

আপনি বিভিন্ন ফরমেটে (এক্সএএমএল, আরটিএফ এবং প্লেইন টেক্সট) পাঠ্য পেতে বা সেট করতে পারেন।

এখানে লিঙ্কটি রয়েছে: বর্ধিত ডাব্লুপিএফ টুলকিট রিচটেক্সটবক্স


-10

এটি অনুসারে এটিতে একটি পাঠ্য সম্পত্তি রয়েছে

http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox_members.aspx

আপনি যদি পাঠ্যটিকে লাইন হিসাবে বিভক্ত করতে চান তবে আপনি "লাইনের" সম্পত্তিও চেষ্টা করতে পারেন।


12
এটি ডাব্লুপিএফ, উইন ফর্ম নয়।
কামরানিকাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.