2013-04-26 85 views
-3

我有「的InitializeComponent」的InitializeComponent在C#(在目前的情況下不存在)

的Visual Studio所著我的問題:在目前情況下不存在名稱「buttonEDYTUJ_Edytuj」。

 Controls.Add(buttonDODAJ); 
     buttonDODAJ = new Button(); 
     buttonDODAJ.Text = "Dodaj"; 
     buttonDODAJ.Click += new System.EventHandler(buttonDODAJ_Dodaj); 
     buttonDODAJ.Location = new Point(20, 50); 
     InitializeComponent(); 

下面的代碼來自類的構造函數。

+1

你試着創建它之前添加按鈕;不管你在調用Controls.Add時buttonDODAJ包含的是什麼,它都不是你想象的那個按鈕。 – 2013-04-26 11:23:43

回答

2

這與初始化的順序無關。相反,編譯器會抱怨,你有沒有在你的形式定義的buttonDODAJ_Dodaj處理函數:

void buttonDODAJ_Dodaj(object sender, EventArgs e) 
{ 
    // whatever... 
} 

當然,一旦你編譯它,它不會因爲你是在創建之前添加控件Controls工作它和組件本身被初始化之前。如果這是真正的代碼,似乎你設法重新排序線路。

+0

我有這個metod,但它仍然不起作用,你有什麼建議嗎? – user2323554 2013-04-26 11:29:13

+0

你仍然有編譯器錯誤?你可以顯示你的'buttonDODAJ_Dodaj'實現和它的位置? – 2013-04-26 11:30:42

+0

+1,正確的原因:) – Habib 2013-04-26 11:31:45

1

試試這個:

buttonDODAJ = new Button(); 
buttonDODAJ.Text = "Dodaj"; 
buttonDODAJ.Click += new System.EventHandler(buttonDODAJ_Dodaj); 
buttonDODAJ.Location = new Point(20, 50); 
Controls.Add(buttonDODAJ); 
InitializeComponent(); 

添加按鈕事件以及:

private void buttonDODAJ_Dodaj(object sender, EventArgs e) 
{ 
} 
+0

我編輯了我的答案。 – 2013-04-26 11:41:43

相關問題