2011-12-27 4 views
0

C# Forms 응용 프로그램이 있습니다. 응용 프로그램에 콘텐츠 용 Panel이 있습니다. 내용은 Outlook 스타일 메뉴 (아코디언)에 의해 결정됩니다. 모든 메뉴 항목이 패널에 나타나면 패널이 매우 혼란 스럽습니다. 그래서 각 메뉴 항목에 대해 별도의 Window를 가지고 싶습니다. 그리고 나서 Window을 필요에 따라 Panel에 할당하십시오.C# 양식 : 패널에 창 표시

패널에 패널을 표시하는 방법은 무엇입니까? 아래 예에서 사용자가 아코디언 메뉴 항목을 클릭 했으므로 창 (Form2)이 패널에 표시됩니다. 다음은 빨간색으로 표시되어 있으므로 잘못되었다고 생각합니다.

panel.Form = new Form2(); 

다음은 System.ArgumentException의 원인입니다.

panel.Controls.Add(new Form2()); 

초보자 용의 질문에 대해 사과하십시오. 저는 MFC 시간이 많은 C/C++ 녀석이고, C# UI는 지금 조금 실망 스럽습니다.

제프

+1

45 분 전에 같은 글이 ... ..? – MethodMan

+0

안녕하세요 디제이 KRAZE - '창을 창으로 표시'가 자체 질문으로 이동했습니다 (쉽지 만 분명히 그럴 수 없다고 생각했습니다). 이전 질문은 편집되었습니다. – jww

+0

한스 - 대답하면 점수를 줄 것입니다. – jww

답변

2

양식은 정확히 – 형태이다.
다른 곳에 쉽게 포함될 수 없습니다.

대신 UserControl을 사용해야합니다.

+0

나는 한스가 그것을 쥐어 놨다 고 생각한다. [컨트롤 안에 윈도우 폼을 호스트 할 수 있을까?] (http://stackoverflow.com/questions/7691468/can-i-host-a-windows-form-inside-a-control). – jww

+0

여전히 UserControl을 사용해야합니다. 그게 바로 그것의 목적입니다. – SLaks

+0

감사합니다. MFC에서는 자식 윈도우 (상대적으로 사용하기 쉬운)를 사용합니다. C#에서 WinForms (또는 심지어 C#라고 불리는)을 사용하여 자식 창을 만드는 방법을 알지 못했습니다. – jww