2016-03-29 192 views
0

我動態創建一個表單和裏面我創建了一個按鈕,但是當我嘗試我的功能添加到該按鈕,它給出了這樣的錯誤:添加功能,動態按鈕在C#

Method name expected.

我使用以下代碼:

 { 
     ... 
     Form newForm = new Form(); 
     newform.Size = new Size(477, 222); 
     Button btn = new Button(); 
     btn.Size = new Size(121, 23); 
     btn.Location = new Point(231, 102); 
     btn.Text = "Text"; 
     btn.Click += new EventHandler(Funct(label1.Text, label12.Text)); 
     newForm.Controls.Add(btn); 
    } 

    public void Funct(string stringA, string stringB) 
    { 
     StreamWriter write = new StreamWriter(path); 
     write.WriteLine(stringA + "-" + stringB); 
     write.Close(); 
    } 

我該如何解決這個問題?

回答

1

使用拉姆達,改變click事件

btn.Click += (s, e) => { Funct(label1.Text, label12.Text) }; 
2

的問題是設定的功能不符合Click事件簽名:

嘗試:

公共無效功能該(對象發件人,EventArgs e) { ... }

如果你想動態地pa在字符串中,您可能必須創建自己的EventArgs類,並在其中添加其他屬性。

希望有所幫助。