2009-12-04 33 views
5

Mô tả Tôi đã cố tạo một FlowLayoutPanel có thể được mở rộng, ví dụ theo cách ngang.Cannnot thay đổi kích cỡ Child Controls trong FlowLayoutPanel Control

FlowLayoutPanel và neo tiểu hợp phần của nó đã được thiết lập để Top-Left-Right

FlowLayoutPanel hướng đã được thiết lập để topdown.

-> Khi rezising FlowLayoutPanel, các thành phần phụ của nó không được thay đổi kích cỡ theo ý muốn.

Bước để tái tạo

  1. Tạo một điều khiển FlowLayoutPanel vào mẫu của bạn.

  2. Đặt FlowDirection của FlowLayoutPanel thành TopDown.

  3. Tạo nút điều khiển và đặt nó trong điều khiển FlowLayoutPanel.

  4. Chọn nút và FlowLayoutPanel và thiết lập Neo của họ để Top-Left-Right

  5. Hãy thử để mở rộng FlowLayoutPanel trên đường ngang.

-> FlowLayoutPanel là thay đổi kích cỡ nhưng không phải là nút

Trả lời

6

Các FlowLayoutPanel chỉ có nghĩa là để bố trí đó là điều khiển con trong một cách năng động. Điều này không có nghĩa là chúng sẽ tự động thay đổi kích thước trong FlowLayoutPanel. Tôi đoán rằng FlowLayoutPanel bỏ qua các thuộc tính Anchor của các điều khiển con của nó.

Để đạt được hiệu ứng này, bạn cần phải điều chỉnh kích thước con của bạn theo cách thủ công trên sự kiện SizeChanged của FlowLayoutPanel.

Tại thời điểm này, bạn có thể muốn xem xét lại liệu FlowLayoutPanel có thực sự là thứ bạn muốn sử dụng hay không. Nếu bạn biết rằng bạn luôn muốn có một nút để lấp đầy chiều rộng của FlowLayoutPanel, bạn cũng có thể dính nó vào một Panel và sử dụng các neo, hoặc thiết lập thuộc tính Dock của nó.

4

FlowLayoutPanel kiểm soát tính toán chiều rộng của cột được ngụ ý từ điều khiển con rộng nhất trong cột. Tất cả các điều khiển khác trong cột này với thuộc tính Anchor hoặc Dock được căn chỉnh hoặc kéo dài để phù hợp với cột được ngụ ý này. Hành vi hoạt động theo cách tương tự cho hướng dòng chảy ngang. Điều khiển FlowLayoutPanel tính toán chiều cao của hàng ngụ ý từ điều khiển con cao nhất trong hàng và tất cả các điều khiển con neo hoặc neo trong hàng này được căn chỉnh hoặc có kích thước để phù hợp với hàng ngụ ý.

kiểm tra tài liệu MSDN đây http://msdn.microsoft.com/en-us/library/ms171633.aspx

+0

Cần có một tùy chọn như "FlowBreak" cho phép bạn thiết lập các tùy chọn thay đổi kích thước cho điều khiển riêng. Tôi có một tình huống tương tự khi có một bảng điều khiển cụ thể trong bộ điều khiển tổng thể mà tôi muốn luôn luôn chiếm toàn bộ chiều rộng, nhưng tôi vẫn muốn bố cục tự động cho mọi thứ khác. Các thiết lập hiện tại tôi phải chọn một hoặc khác ... Tôi muốn cả hai. –