2009-08-04 63 views
60

Tôi có một Hộp văn bản trên Ứng dụng Biểu mẫu C#. Tôi điền vào TextBox với thông tin về sự kiện Load của biểu mẫu. Sau đó tôi gọi những điều sau:Cuộn xuống cuối C# TextBox

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

Tuy nhiên hộp văn bản không cuộn xuống dưới cùng?

Điều này chỉ áp dụng cho sự kiện Tải mặc dù. Tôi cũng cập nhật TextBox này từ các phần khác của ứng dụng khi nó đang chạy, và ngay sau khi một trong những sự kiện cập nhật của TextBox, nó được cuộn xuống phía dưới.

Vì vậy, làm thế nào tôi có thể làm cho nó cuộn xuống dưới cùng khi điền trước TextBox trong sự kiện Tải biểu mẫu? sự kiện

+1

Kiểm tra [http://stackoverflow.com/questions/739656/ how-can-i-scroll-to-a-được chỉ định-line-in-a-winforms-textbox-using-c] (http://stackoverflow.com/questions/739656/how-can-i-scroll-to -a-được chỉ định-line-in-a-winforms-textbox-using-c) – Raghav

Trả lời

92

Hãy thử đặt mã trong Mẫu của Hiển thị:

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

Trong khi sự kiện Load (xảy ra trước Form được hiển thị) được xử lý, không có hình thức để hiển thị bài viết nào, và do đó không có thị giác tiểu bang đã được thành lập. Di chuyển một điều khiển không nhìn thấy do đó rất có thể không làm bất cứ điều gì bởi vì-hey, không có gì để di chuyển như một khung nhìn di chuyển chỉ là một cái nhìn trên điều khiển nhưng không phải là một phần của trạng thái của nó.

Bạn có thể có nhiều thành công với cách di chuyển một phần di chuyển vào Shown sự kiện (xảy ra sau mẫu được hiển thị đầu tiên) có dạng

Các vấn đề liên quan