2010-08-13 17 views
5

क्या आईसीएसएचआरपीकोड में लंबवत स्क्रॉलिंग को कॉन्फ़िगर करना संभव है। टेक्स्ट एडिटर जैसे डिफ़ॉल्ट रूप से कोई वर्टिकल स्क्रॉलबार दिखाई नहीं देता है। और वह तभी जब कोई बहुत सारी रेखाएं (इस नियंत्रण की वर्तमान ऊंचाई से परे) टाइप करता है कि एक लंबवत स्क्रॉलबार स्वचालित रूप से प्रकट होता है। यदि हां, तो कैसे?ICSharpCode.TextEditor वर्टिकल स्क्रॉलिंग

+0

+1 अब टम्बलवेड नहीं :) –

उत्तर

1

समारोह अपने आप को जोड़ने के लिए इसका आसान:

1) गोटो नाम स्थान ICSharpCode.TextEditor और TextAreaControl वर्ग खोलें। फ़ाइल स्थान है: C: ... \ ICSharpCode.TextEditor \ परियोजना \ src \ गुई \ TextAreaControl.cs

2) एक विधि क्षैतिज या लम्बवत स्क्रॉलबार की दृश्यता सेट में जोड़ें:

public void ShowScrollBars(Orientation orientation,bool isVisible) 
{ 
    if (orientation == Orientation.Vertical) 
    { 
     vScrollBar.Visible = isVisible; 
    } 
    else 
    { 
     hScrollBar.Visible = isVisible; 
    } 
} 

3) TextEditor के साथ इस परियोजना में, यह तुम कैसे ShowScrollBars() विधि कॉल है:

editor.ActiveTextAreaControl.ShowScrollBars(Orientation.Vertical,false); 

इस कोड चाल खड़ी पाठ लाइनों की संख्या के आधार पर स्क्रॉलबार को दिखाने के लिए कार्य करता है:

public TextEditorForm() 
{ 
    InitializeComponent(); 
    AddNewTextEditor("New file"); 
    SetSyntaxHighlighting("Mathematica");  
    editor.ActiveTextAreaControl.TextEditorProperties.IndentationSize = 0; 
    editor.ActiveTextAreaControl.ShowScrollBars(Orientation.Vertical,false); 
    editor.TextChanged += new EventHandler(editor_TextChanged); 
} 

void editor_TextChanged(object sender, EventArgs e) 
{    
    bool isVisible = (editor.ActiveTextAreaControl.GetTotalNumberOfLines > editor.ActiveTextAreaControl.TextArea.TextView.VisibleLineCount); 
    editor.ActiveTextAreaControl.ShowScrollBars(Orientation.Vertical, isVisible);    
} 

TextAreaControl में:

public int GetTotalNumberOfLines() 
{ 
    return this.Document.TotalNumberOfLines; 
} 

ps मैं इस Code Project ICSharpCode-TextEditor परियोजना का उपयोग कर रहा हूँ।

+0

क्या क्षैतिज स्क्रॉलबार को छिपाना भी संभव है? मैंने कोड और एपीआई-कॉल की जांच की, लेकिन मुझे यह नहीं मिला। –

+0

मुझे मेरे सामने कोड नहीं मिला है, हालांकि आप 'ओरिएंटेशन। वर्टिकल 'को' ओरिएंटेशन 'पर सेट करने में सक्षम होना चाहिए। हॉरिज़ोंटल' –

+0

धन्यवाद, हाँ मुझे पता है लेकिन मैंने गलत सवाल पूछा, मैं जानना चाहता था यदि लाइन पर कॉलम/अधिकतम वर्णों की कुल संख्या निर्धारित करने का कोई तरीका है यह देखने के लिए कि क्या उस तर्क के आधार पर स्वचालित रूप से HScrollBar को छिपाना संभव है या नहीं। –