SORU
22 Mayıs 2009, Cuma


Nasıl Çok Satırlı Metin kutusu altına otomatik kaydırma mı?

Bir textbox var .Çoklu-satır özelliği true olarak ayarlayın. Düzenli aralıklarla, bu metin yeni bir satır ekliyorum. Metin yeni bir satır eklendiğinde otomatik olarak en alt giriş (yeni) ilerleyin etmek istiyorum. Bunu nasıl başarırız?

CEVAP
15 ŞUBAT 2013, Cuma


Düzenli aralıklarla, bu metin yeni bir satır ekliyorum. Metin yeni bir satır eklendiğinde otomatik olarak en alt giriş (yeni) ilerleyin etmek istiyorum.

Eğer TextBox.AppendText(string text), kullanıyorsanız, otomatik olarak yeni eklenen metnin sonuna gitmek. Eğer bir döngü içinde arıyorsanız titrek kaydırma çubuğu önler.

Ayrıca bu büyüklükte bir düzen olması daha hızlı .Text özelliği üzerine bitiştirmek daha olur. Bu aradığınız ne bağlı olsa da; sıkı bir döngü ile test ediyordum.


Bu ise textbox gösterilmeden önce çağrılırsa, ya da eğer metin yoksa görünmez (bir TabPanel farklı bir sekmede örneğin) ise kaymaz. TextBox.AppendText() not autoscrolling bkz. Bu önemli, eğer kullanıcı textbox görmüyor ne zaman oto gerektiriyorsa bağlı olmayabilir.

Diğer cevaplara göre alternatif yöntemi de bu durumda işe yaramıyor gibi görünüyor. Bunu yapmanın tek yolu VisibleChanged olay ile ilgili ek kaydırma yapmak için:

textBox.VisibleChanged  = (sender, e) =>
{
    if (textBox.Visible)
    {
        textBox.SelectionStart = textBox.TextLength;
        textBox.ScrollToCaret();
    }
};

DAHİLİ olarak, AppendText böyle bir şey yapar:

textBox.Select(textBox.TextLength   1, 0);
textBox.SelectedText = textToAppend;

Ama bunu el ile yapmak için bir sebep olmalı.

Eğer Kendin derleme, muhtemelen daha verimli bir içsel yöntemleri kullanır ve küçük özel bir durum gibi görünüyor ne olduğunu görürsünüz.)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bombjack2991

    bombjack2991

    29 HAZİRAN 2008
  • BrandonHarrisWalker

    BrandonHarri

    27 Kasım 2006
  • Matthew Pearce

    Matthew Pear

    9 AĞUSTOS 2009