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

  • Atlantic Records

    Atlantic Rec

    15 Aralık 2006
  • DorkmanScott

    DorkmanScott

    14 NİSAN 2006
  • fouseyTUBE

    fouseyTUBE

    21 Mart 2011