ICSharpCode.TextEditor'da dikey kaydırmayı varsayılan olarak dikey kaydırma çubuğu görünmeyecek şekilde yapılandırmak mümkün müdür. Ve bu sadece bir kişi (bu kontrolün mevcut yüksekliğinin ötesinde) çok sayıda çizgi çizdiğinde, dikey kaydırma çubuğu otomatik olarak görünür. Evet ise nasıl?ICSharpCode.TextEditor Dikey Kaydırma
cevap
Onun kolay fonksiyonunu kendiniz ekleyin:
1) Goto ad ICSharpCode.TextEditor
ve TextAreaControl
sınıf açın. dosya konumu şudur: C: ... \ ICSharpCode.TextEditor \ Proje \ Src \ Gui \ TextAreaControl.cs ) Yatay veya dikey kaydırma görünürlüğünü ayarlamak için bir yöntem ekleyin:
public void ShowScrollBars(Orientation orientation,bool isVisible)
{
if (orientation == Orientation.Vertical)
{
vScrollBar.Visible = isVisible;
}
else
{
hScrollBar.Visible = isVisible;
}
}
TextEditor ile projede
3), bu ShowScrollBars()
yöntemi çağırmak nasıl:
editor.ActiveTextAreaControl.ShowScrollBars(Orientation.Vertical,false);
Bu kod metin hatlarının sayısına dayalı dikey kaydırma çubuğunu göstermek için hile yapar: TextAreaControl yılında
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);
}
: Bu
Code Project ICSharpCode-TextEditor projeyi kullanıyorum
public int GetTotalNumberOfLines()
{
return this.Document.TotalNumberOfLines;
}
ps.
Ayrıca Yatay ScrollBar'ı gizlemek mümkün mü? Kodu ve api çağrılarını kontrol ettim ama bulamıyorum. –
Kodun önümde açık kalmamasına rağmen, 'Orientation.Vertical' 'Orientation.Horizontal' –
'a ayarlayabiliyor olsanız da, evet biliyorum ama yanlış soruyu sordum, bilmek istedim HScrollBar'ı otomatik olarak bu mantığa göre gizlemek mümkün olup olmadığını görmek için bir satırdaki toplam sütun/maksimum karakter sayısını belirlemenin bir yolu varsa. –
+1 Artık Tumbleweed :) –