2010-07-17 4 views
1

.net에서 Windows 기반 응용 프로그램을 개발 중입니다.다른 Windows 양식의 이벤트에서 Windows 양식의 기능을 호출하는 방법은 무엇입니까?

두 가지 형식이 있습니다. Form1에서 이벤트가 발생하면 Form2가 인스턴스화되고 표시됩니다.

public partial class Form1 : Form 
{ 
    ... 
    private void button1_Click(object sender, EventArgs e) 
    { 
     .... 
    } 
    public void button2_Click(object sender, EventArgs e) 
    { 
     Form2.parent = this; 

     Form2 f2 = new Form2(); 

     f2.show(); 
    } 

} 

public partial class Form2 : Form 
{ 
    ... 
    public static Form parent; 
    private void button3_Click(object sender, EventArgs e) 
    { 
     .... //want to call Form1's button1_Click() function. 
    } 

} 

이제 Form2의 button3_Click() 함수에서 Form1의 button1_Click() 메서드를 호출하려고합니다.

나는
parent.button1_Click(button3,null); 

을 시도했지만이 작동하지 않습니다.

도와주세요!

답변

3

Form이 아닌 Form1 인 것으로 parent을 선언해야합니다.

나는 개인적으로 오히려 공공 정적 변수로하는 것보다, 비록 생성자에 넣어 것 :

public partial class Form1 : Form 
{ 
    public void button2_Click(object sender, EventArgs e) 
    { 
     Form2 f2 = new Form2(this); 
     f2.show(); 
    } 
} 

... 

public partial class Form2 : Form 
{ 
    Form1 parent; 

    public Form2(Form1 parent) 
    { 
     this.parent = new parent; 
    } 
} 
+0

감사합니다! 그것은 작동하고 있습니다 ... 정말 고마워요! :) – Akshay

+0

저에게 감사드립니다. 같은 문제가 있었어! :) –

관련 문제