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

  • Adam Khoury

    Adam Khoury

    23 Ocak 2008
  • bigky226

    bigky226

    11 HAZİRAN 2006
  • Wii Minute Radio

    Wii Minute R

    31 Mayıs 2008