2009-08-04 24 views
60

C# Forms Uygulaması üzerinde bir TextBox'um var. TextBox'ı, formun Load olayı hakkında bilgi ile dolduruyorum. Sonra aşağıdakileri çağırırım:C# TextBox'un altına kaydırın

this.txtLogEntries.SelectionStart = txtLogEntries.Text.Length; 
this.txtLogEntries.ScrollToCaret(); 

Ancak, TextBox aşağıya kaydırmıyor mu?

Bu yalnızca Yükleme olayında geçerlidir. Ayrıca bu TextBox'ı çalıştırdıktan sonra uygulamanın diğer bölümlerinden de güncelliyorum ve bu olaylardan biri TextBox'ın en kısa sürede aşağıya kaydırılır.

Peki, Form Yükü olayında TextBox'u önceden doldururken bunu aşağıya kaydırmayı nasıl sağlayabilirim?

+1

ara [http://stackoverflow.com/questions/739656/ nasıl-i ilerleyip-to-a-belirtilen hat-içinde-a-Win-metin kullanan-c] (http://stackoverflow.com/questions/739656/how-can-i-scroll-to -a-belirtilen hat-içinde-a-Win-metin kullanan-c) – Raghav

cevap

92

Formunda kod koyarak deneyin Gösterildi oluyor olay:

private void myForm_Shown(object sender, EventArgs e) 
{ 
    txtLogEntries.SelectionStart = txtLogEntries.Text.Length; 
    txtLogEntries.ScrollToCaret(); 
} 
16

Load olay işlenir (Form gösterilmektedir önce ortaya çıkar) iken, henüz Gösterilecek formu ve dolayısıyla hiçbir görsel yoktur devlet kuruldu. Görünür olmayan bir denetimin kaydırılması bu nedenle bir şey yapmaz, çünkü kaydırma heyecanı yalnızca kontrolün bir görünümüdür, ancak durumunun bir parçası değildir.

için Shown olayın içine kaydırma parçası hareket ile daha başarılı olabilir

formunun ( sonra bir şekilde ilk olarak gösterilen meydana gelir)

İlgili konular