2017-04-15 4 views
0

저는 C#에 익숙하지 않고 기본적인 것을 필요로합니다. 단추 누르기에서 메서드를 호출하려고하는데 Program.cs 또는 Form1.cs에서 개체와 메서드를 선언하는지 알 수 없습니다.C# Windows Forms 응용 프로그램에서 메서드를 사용하려면 어떻게해야합니까?

여기까지 제가 지금까지 있습니다.

public partial class frmMain : Form 
{ 
    Form form = new Form(); 

    public frmMain() 
    { 
     InitializeComponent(); 
    } 

    private void btnCalc_Click(object sender, EventArgs e) 
    { 
     txtC.Text = form.CalcHypotenuse(double.Parse(txtA.Text), double.Parse(txtB.Text)); 
    } 

} 

public string CalcHypotenuse(double sideA, double sideB) 
{ 
    double hypotenuse = Math.Sqrt((sideA * sideA) + (sideB * sideB)); 
    string hypotenuseString = hypotenuse.ToString(); 
    return hypotenuseString; 
} 
+0

오류가 있습니까? – Sami

+0

네 개의 오류, "네임 스페이스에 필드 나 메서드 같은 멤버가 직접 포함될 수 없습니다."및 "폼 '에'CalcHypotenuse '에 대한 정의가 없습니다. –

답변

1

메소드는 클래스 내에 있어야합니다. 폼은 클래스이므로 메서드를 안에 넣으면 호출 할 수 있습니다. 제발, 내가 frmMain 클래스 안에 메서드를 이동하고 당신이 그것을 필요가 없기 때문에 Form form = new Form(); 라인을 제거주의하십시오.

양식 내에서만 메소드를 호출하는 경우 외부에서 호출 할 수 없도록 비공개로 설정하십시오.

+0

감사합니다. 내가 'this'를 사용할 필요가 있다는 것을 알지 못했습니다. –

+0

'this'를 사용할 필요가 없으며 주석에 언급했습니다. 나는 항상 그것을 사용하지만 그건 내 개인 취향이다. 귀하의 질문에 답변 한 경우 [this] (http://stackoverflow.com/help/someone-answers)를 읽으십시오. – CodingYoshi

관련 문제