2012-12-19 5 views
0

양식을 새로 고침하여 생성자의 모든 코드를 실행하는 방법이 필요합니다. Form.Refresh(), this.Invalidate() 및 심지어 Form.Reload()으로 시도했습니다. 여전히 실행되지 않습니다. 처음 응용 프로그램을 시작할 때이 작업을 수행하는 쉬운 방법이 있습니까?양식을 새로 고치고 생성자 코드를 다시 실행하십시오.

+0

왜 그냥 새 양식을 완전히 만들 수 없습니다? – Servy

답변

11

생성자를 두 번 실행할 수 없습니다. 당신은 생성자의 코드를 메소드에 넣고 필요할 때 그것을 호출함으로써 회피책을 구축 할 수 있습니다.

예 :

public partial class MyForm : Form 
{ 
    public MyForm() 
    { 
     InitializeComponent(); 
     DoStuff(); 
    } 

    void DoStuff() 
    { 
     //Your code 
    } 

    void Button1_Click(object sender, EventArgs e) 
    { 
     DoStuff(); 
    } 
} 
+1

그 자체만으로는 신선한 형태와 같지 않을 것입니다. 생성자에서 전혀 설정되지 않은 많은 값을 null로 지정해야 할 수도 있습니다. 사용자가 양식에 입력 한 정보 등을 잠재적으로 제거해야합니다. – Servy

+0

감사합니다. 확실히 시도해보십시오. . 그래서 생성자는 폼을 다시로드 할 때 두 번 실행하지 않습니다.? – Jacco

+0

Servy가 맞습니다. 완전히 새로운 양식을 원하면 새로운 양식을 만드는 것이 더 쉬울 수 있습니다. @Jacco 생성자는 ** 어떤 ** 유형에서도 한 번만 호출 할 수 있습니다. – Mir

관련 문제