2017-04-15 134 views
0

我是c#的新手,我只需要一些基本的東西。我試圖從按鈕單擊調用方法,我不知道我是否在Program.cs或Form1.cs中聲明瞭一個對象和方法c#如何在Windows窗體應用程序中使用方法?

這是我迄今爲止所做的。

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();,因爲您不需要它。

public partial class frmMain : Form 
{  
    public frmMain() 
    { 
     InitializeComponent(); 
    } 

    private void btnCalc_Click(object sender, EventArgs e) 
    { 
     // the 'this' is optional so you can remove it 
     txtC.Text = this.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

非常感謝你的工作。不知道我需要使用'這個' –

+0

你不需要使用'this',我在評論中提到這一點。我總是使用它,但這是我個人的偏好。如果我已經回答了你的問題,請閱讀[this](http://stackoverflow.com/help/someone-answers) – CodingYoshi

相關問題