2012-11-07 26 views
14

Tôi có một số FlowLayoutPanel và một số UserControl s. Bây giờ tôi muốn một kiểm soát luôn ở dưới cùng của FlowLayoutPanel của tôi. Vì vậy, tôi muốn thêm UserControl của tôi ngay phía trên kiểm soát thấp nhất. Có cách nào dễ dàng để chèn điều khiển người dùng trong một số FlowLayoutPanel không?chèn Usercontrol vào FlowLayoutPanel

Tôi hiện đang suy nghĩ về việc xóa điều khiển ở dưới cùng và thêm điều khiển tôi muốn thêm và thêm điều khiển dưới cùng một lần nữa. Nhưng điều này tôi không nghĩ rằng đây thực sự là cách tốt nhất. Có ai ở đây có thể giúp tôi với một số thông tin về cách làm điều này không?

+1

Chuyển từ WinForms sang WPF có dễ dàng không, hoặc tôi có cần học nhiều trước khi bạn có thể làm điều đó không? – 2Pietjuh2

+0

WPF là khá dễ dàng để chọn lên. Đối với hầu hết các phần, bạn có thể sử dụng nó chính xác giống như cách bạn sử dụng Biểu mẫu và đảm nhận một số tính năng phức tạp hơn khi bạn yêu cầu chúng. –

Trả lời

11

Có, bạn có thể đặt Index của Control HOẶC User-Control trong Flow-Layout Panel.

//flPanel is your flow-layout panel... 
flPanel.Contorls.Add(ctrl1); //ctrl1 can be any control or user control 
flPanel.Contorls.Add(ctrl2); //ctrl2 can be any control or user control 
flPanel.Controls.SetChildIndex(ctrl1, flPanel.Controls.GetChildIndex(ctrl2) + 1); 

Bằng cách này, ctrl1 của bạn sẽ là ở phía dưới mặc dù nó đã được bổ sung đầu tiên vào Flow-Layout Panel của bạn.

Nếu bạn có nhiều hơn Control s và bạn đang chuyển đổi chế độ hiển thị trong các sự kiện khác nhau, thì bạn sẽ phải đặt Index cho mỗi Control mỗi lần.

Tôi khuyên bạn nên đặt Control trong Panel và thêm Panel vào Flow-Layout Panel của mình.

0

Điều này không liên quan gì đến WinForms/WPF. Bạn đang cố gắng sử dụng bảng điều khiển để bố cục cho một thứ gì đó rõ ràng không có nghĩa là sử dụng luồng.

Bạn nên thay đổi bố cục của mình cho phù hợp. Hãy thử sử dụng một flowlayout trên các mục mà bạn cần dòng chảy, sau đó đặt bảng điều khiển bên trong bảng điều khiển khác cũng lưu trữ bảng điều khiển phía dưới của bạn.

+0

Đó là rất nhiều những gì tôi làm. Tôi có một usercontrol mà lưu trữ một 'flowLayoutPanel' bên trong bảng điều khiển mà tôi tải các điều khiển khác. Câu hỏi của tôi là: Làm thế nào tôi có thể thêm các điều khiển khác ở một vị trí khác so với ở dưới cùng? (Tôi muốn họ đặt một ở trên kiểm soát dưới :)) – 2Pietjuh2

+0

Bạn nên có một bảng điều khiển đó là flowLayoutPanel như bảng điều khiển ngoài cùng, trên bảng điều khiển mà bạn thêm flowLayoutPanel của bạn và sau đó hai điều khiển khác của bạn. – helgeheldre