2012-03-23 2 views
16

폼이로드 될 때 사용자 컨트롤을 표시하려고하는 Windows Forms 폼이 있습니다. 불행히도, 아무것도 보이지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?폼로드 이벤트를 추가하는 방법 (현재 작동하지 않음)

AdministrationView wel = new AdministrationView(); 
public ProgramViwer() 
{ 
    InitializeComponent(); 
} 


private void ProgramViwer_Load(object sender, System.EventArgs e) 
{ 
    formPanel.Controls.Clear(); 
    formPanel.Controls.Add(wel); 
} 

내가이 글에서 읽은 내용을 기반으로로드 이벤트를 추가 참고 : 아래의 코드를 참조하십시오

http://msdn.microsoft.com/en-us/library/system.windows.forms.form.load.aspx

답변

40

세 당신이 할 수있는 방법 - 폼 디자이너에서가, 양식을 선택하십시오. 일반적으로 속성 목록을 볼 수있는 곳에는 번개 기호가 있어야합니다. 양식의 모든 이벤트가 표시됩니다. 목록에서 양식로드 이벤트를 찾으면 드롭 다운에서 ProgramViwer_Load을 선택할 수 있습니다.

그것을 할 수있는 두 번째 방법은 프로그래밍입니다 - 어딘가에 (생성자 아마) 당신이 그것을 추가 할 필요 것, 뭔가 같은 : ProgramViwer.Load += new EventHandler(ProgramViwer_Load);

디자이너를 사용하는 세 번째 방법 (아마 가장 빠른) - 당신이 만들 때 새 양식을 디자인 모드에서 두 번 클릭하십시오. 그것은 당신을 위해 Form load 이벤트를 만들고, 그것을 연결하고, 이벤트 핸들러 코드로 데려 갈 것입니다. 그런 다음 두 줄을 추가하면 갈 수 있습니다!

+0

고맙습니다! 나는 그것을 몰랐다! !! – Jenix

+0

어떤 이유로 이벤트 탐색기에서로드 중 드롭 다운 옵션이 없습니다. –

+1

@DaveKelly 이미 작성한 모든 호환 이벤트 처리기가 드롭 다운 목록에 표시됩니다. 아직 작성하지 않은 것 같습니다. 이 질문에서 OP는 이미 하나를 썼다. 이 질문에있는 사본을 복사하여 붙여넣고 수정하거나 직접 만드십시오. – Bridge

14

당신은 대답의 절반을 받았습니다! 이제 이벤트 핸들러를 만들었으므로 폼을로드 할 때 실제로 호출되도록 이벤트 핸들러를 폼에 연결해야합니다. 다음을 수행하여이를 달성 할 수 있습니다.

public class ProgramViwer : Form{ 
    public ProgramViwer() 
    { 
     InitializeComponent(); 
     Load += new EventHandler(ProgramViwer_Load); 
    } 
    private void ProgramViwer_Load(object sender, System.EventArgs e) 
    { 
     formPanel.Controls.Clear(); 
     formPanel.Controls.Add(wel); 
    } 
} 
관련 문제