2013-07-22 29 views
5

các quy tắc mà tôi phải tôn trọng để làm cho Form cuộn ... là gìMẫu cuộn trong C#, AutoScroll = true không hoạt động

tôi đơn giản thiết lập các tài sản AutoScroll là true. Tôi cũng đã thử trong khi Auto Scroll là đúng, để đặt AutoSize thành true/false, nhưng không cái nào trong số này hoạt động ... cũng cố gắng đặt Bảng và thêm tất cả các thành phần vào ... vẫn không có gì ...

Có thể sử dụng V or HScrollBar có thể giúp đỡ, nhưng tôi thực sự không biết làm thế nào để liên kết nó với các mẫu ...

form.AutoScroll = true; 
formMainLayout.AutoScroll = true; 
rootPanel.AutoScroll = true; 
+0

con bạn kiểm soát ẩn khỏi biểu mẫu? –

+0

Bạn có nghĩa là 'điều khiển con' ẩn khỏi biểu mẫu? nếu bạn có ý nghĩa này, biểu mẫu có Điều khiển này.Thêm: rootPanel, rootPanel có formMainLayout và formMainLayout có tất cả các Điều khiển khác – jovanMeshkov

+0

Ý tôi là nếu kích thước biểu mẫu của bạn là (200.200). có bất kỳ điều khiển con nào của bạn tồn tại vượt quá điều này không? (vượt quá 200.200) –

Trả lời

3

Nội dung điều khiển cuộn. Thanh cuộn không xuất hiện trừ khi chúng cần thiết. Thông thường, có một thuộc tính có sẵn mà bạn có thể đặt để buộc chúng luôn hiển thị luôn và chỉ cần vô hiệu hóa cho đến khi cần.

Thuộc tính AutoScroll phải là true, như bạn đã tìm thấy. Nhưng sau đó nội dung của điều khiển có thể cuộn phải buộc điều khiển chính để hiển thị các thanh cuộn. Phần này phụ thuộc vào cách các điều khiển được nhúng bên trong phụ huynh.

Hãy thử hai thí nghiệm sau đây:

  1. Đặt Panel vào mẫu của bạn và cho nó vào bến để Fill. Đặt thuộc tính AutoScroll của Bảng điều khiển thành true. Vào bảng điều khiển đó, đặt một số TextBox và đặt nó thành dock là Fill. Đồng thời đặt MultiLine thành true. Chạy ứng dụng, và bạn sẽ nhận thấy rằng kích thước của cả hai chỉ đơn giản là sử dụng không gian có sẵn ... không cuộn có thể xảy ra bởi vì không phải Panel, cũng không phải TextBox của nó trở nên lớn hơn không gian chúng chiếm.

  2. Thực hiện các bước tương tự như trong # 1, nhưng lần này, không được gắn TextBox. Thay vào đó, hãy đặt nó ở kích thước lớn, thứ mà bạn biết sẽ lớn hơn số lượng Panel hiển thị. Chạy ứng dụng bây giờ sẽ tạo ra một cuộn Panel.

Hy vọng rằng thử nghiệm nhỏ này giúp chứng minh điều gì đang kiểm soát cuộn trên biểu mẫu.

+0

Xin lỗi nhưng tôi không chắc chắn về ý nghĩa của bạn với "Bản thân biểu mẫu không phải là điều khiển có thể cuộn được". Biểu mẫu có thể cuộn như bất kỳ điều khiển nào khác: các điều kiện autoscroll + gặp (chứa các điều khiển nằm ngoài ranh giới) hoặc vscrollbar/hscrollbar trong đó. Ngoài ra, tôi không quá chắc chắn về khả năng ứng dụng thực tế/trực tiếp của những gì bạn nói để trả lời câu hỏi "tại sao khi tôi đặt AutoScroll thành true tôi không thấy thanh?". – varocarbas

+1

@varocarbas Điểm của bạn được thực hiện tốt. Tôi đã xóa một phần câu trả lời của mình. Đối với phần sau của bình luận của bạn, đây là câu hỏi tôi đang cố gắng để chứng minh một câu trả lời cho: "Các quy tắc mà tôi phải tôn trọng là gì để làm cho Form có thể cuộn được". – DonBoitnott

+0

Cảm ơn. Tất cả mọi thứ rõ ràng hơn bây giờ. – varocarbas

0

thuộc tính AutoScroll nên làm việc tốt, nhưng rất có thể bạn không sử dụng nó đúng: thanh duy nhất khi xuất hiện cần thiết. Ví dụ: Y tối thiểu của số Form bằng 0 và Y tối thiểu của một trong các điều khiển trong đó (a TextBox) là -20.

Nếu bạn muốn bao gồm một thanh cuộn không có vấn đề gì (điều khiển bên trong ranh giới của biểu mẫu hay không), bạn cũng có thể làm điều đó. Mã mẫu (from MSDN) cho thanh cuộn dọc:

// Create and initialize a VScrollBar. 
VScrollBar vScrollBar1 = new VScrollBar(); 

// Dock the scroll bar to the right side of the form. 
vScrollBar1.Dock = DockStyle.Right; 

// Add the scroll bar to the form. 
Controls.Add(vScrollBar1); 
3

Tôi cũng đã có cùng một vấn đề, tôi cố gắng sửa chữa nó ... Tất cả các điều khiển con bên trong bảng điều khiển có một trái & Ngay neo, và khi tôi chỉ đặt neo từ đầu, các thanh cuộn nơi làm việc tốt.

Tôi không chắc chắn là tại sao LeftNgay neo (các điều khiển con) buộc bảng điều khiển không hiển thị thanh cuộn.

Nhưng dù sao ... hy vọng điều này sẽ giúp mọi người kể từ ngày này.

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