나는 초급자이며 같은 것을 궁금해했다. 네가 묻고있는 것을 내가 이해한다고 믿는다. 방금 시도한 후 몇 번의 시도를 거친 후이를 클릭하고 새 것에 대해 어쩌면 내 말로 간단하게 할 수 있습니다. 어떤 프로그램을 사용하고 있는지 모르겠지만 Visual Studio 2016을 사용했습니다. 두 개의 폼 (Form1과 Form2)이 각각 버튼을 포함하여 만들어졌습니다. Form1 단추와 Form2 단추. Form1 버튼을 클릭하면 form2의 메소드가 호출되고 Form2 버튼을 클릭하면 Form1의 메소드가 호출됩니다. 솔루션 탐색기에서 두 가지 형태와 그 안에 들어있는 모든 것을 보여줍니다. 나는 많은 연구를 해왔고 내가 틀렸다면 수정 해 주었지만, 부모 컨테이너에서 자식 (네임 스페이스> 클래스> 메소드)과 같은 순서로 진행된다고 나는 믿는다. 이 사실을 믿기 때문에 나는 그 메소드를 호출하기 전에 클래스를 호출해야한다고 생각했습니다.
이것은 내 스크립트입니다.
를 Form1 :
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show();
}
private void f1button_Click(object sender, EventArgs e)
{
f2Words f2w = new f2Words();
f2w.Words2();
}
}
public class f1Words
{
public void Words1()
{
MessageBox.Show("Form 1 Method Calling Worked!");
}
}
형식 2 : 솔루션 탐색기 창에서
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
}
private void f2button_Click(object sender, EventArgs e)
{
f1Words f1w = new f1Words();
f1w.Words1();
}
}
public class f2Words
{
public void Words2()
{
MessageBox.Show("Form 2 Method Calling Worked!");
}
}
그것은을 Form1과 Form2를 모두의 클래스를 보여줍니다. 그래서이 클래스의 새로운 인스턴스를 호출하기로 결정했습니다.
"f1Words f1w = 새 f1words()"및 "f2Words f2w = 새 f2Words()".
그런 다음이 클래스의 새 인스턴스를 포함 된 메서드로 재생 해 보았습니다.
는 "f1w.Words1()"및 "f2w.Words2()"
최종 결과는 성공적이었다. Form1의 Button1을 클릭하면 Form2의 F2Words 클래스를 호출하고 "Form2 Method Calling Worked!"라는 메시지 상자를 열고 Form2 Button2에 대해 Words2 Method를 꺼냅니다.
이 게시물은 4 세입니다. 독자 분이 이미이 사실을 발견했으며 더 나은 해결책을 찾았을 것이라고 추측합니다. 그러나 앞으로이 같은 질문을하는 다른 사람들에게도 이것이 도움이되기를 바랍니다.
공유하세요 down 투표 됨 – Garrett
귀하의 질문에 명확하지 않습니다. Class2 내의 Class1에 대한 참조 만 작성하면됩니다. 물론 Class1이 실제로 Form 일 경우 실제로이 작업을 수행하고 싶지는 않습니다. –