로딩 한 후 UserControl에서 파생 된 두 개의 컨트롤을 추가하는 Form으로 구성된 앱이 있습니다. UserControls는 동일한 좌표 공간을 공유하며 BringToFront()/SendToBack()을 통해 어느 것이 보이는지를 대체합니다. 기본적으로 가난한 사람의 WPF 페이지. UC에는 각각 UserControl의 전체 영역을 차지하는 패널이 있으며 패널에는 모든 버튼, 텍스트 상자, DataGridView 등이 포함되어 있습니다.컨테이너로 UserControl을 늘리는 방법 (양식)
기본적으로 UserControls 크기를 포함하는 Form을 만들려고합니다. Dock 또는 앵커 속성 중 하나를 사용하여 있지만 UserControl 자체가 이러한 속성이 나타나지 않는 문제가 있으므로 창 크기를 조정하면 모든 내용을 포함하는 패널이 커지지 않습니다. 각 앵커 및 도킹 속성을 아무 UserControl 내부 패널 패널 설정 시도했다. 또한 Form에 FlowLayoutPanel을 추가 한 다음 FormControls를 직접 Form 객체에 추가하는 대신 UserControls를 추가하려고했습니다. 같은 결과. 패널이 포함 된 UserControls를 사용하여 스스로 혼란에 빠졌습니까? 이 문제를 해결할 방법이 있습니까? 추신 : 나는 C#/.NET에 다소 익숙하다. 자바에서 잠시 동안 내 dev 작업 대부분을하고있다.
코드 예 :
//Add the panels
FsLookupPanel = new FSLookupPanel(this, this.LdapConn, this.dbConnect);
MakeResPanel = new MakeReservationPanel(this, this.dbConnect);
this.flowLayoutPanel1.Controls.Add(FsLookupPanel);
this.flowLayoutPanel1.Controls.Add(MakeResPanel);
//this.Controls.Add(FsLookupPanel);
//this.Controls.Add(MakeResPanel);
FsLookupPanel.Visible = true;
MakeResPanel.Visible = false;
찾고 계십니까? 당신은 사용자 컨트롤을 클릭 할 때 부모 폼에서 찾을 수 있습니다. – Sayse
Btw, 관련된 것으로 보이는 부분 .Visible = true/false 방금 변경했습니다. 두 패널을 모두 보이게하고 BringToFront() 및 SendToBack()을 사용하여 보이기를 바꿨습니다. 원래 Visible = true/false가 어떤 이유로 든 작동하지 않기 때문입니다. 지금이야. – user2461087
어떤 .NET Framework 버전을 사용하고 있습니까? Dock 및 Anchor는 UserControl에서 파생되는 Control 클래스에 정의되어 있습니다. 따라서 사용자 컨트롤에는 이러한 속성이 있어야합니다. 또한 BringToFront/SendToBack을 사용하는 대신 표시/보이지 않게 만드는 것이 더 나을 수도 있습니다. –