2013-04-26 91 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

相关问题