2013-04-26 6 views
-3

у меня есть проблемы с «» InitializeComponentInitializeComponent в C# (не существует в текущем контексте)

Visual Studio writed меня: Имя «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

вы пытаетесь добавить кнопку, прежде чем создать его; независимо от того, что buttonDODAJ содержит, когда вы вызываете 'Controls.Add', это не кнопка, которую вы думаете. –

ответ

2

Это не связано с порядком инициализации. Вместо этого компилятор жалуется, что вы не определили функцию обработчика buttonDODAJ_Dodaj в форму:

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

Конечно, как только вы скомпилировать его, он не будет работать, как вы добавляете управление Controls прежде чем создавать он и перед инициализацией самого компонента. Если это настоящий код, кажется, что вам удалось каким-то образом изменить порядок строк.

+0

У меня есть этот метод, но он все еще не работает, есть ли у вас какие-либо предложения? – user2323554

+0

У вас все еще есть ошибка компилятора? вы можете показать свою реализацию 'buttonDODAJ_Dodaj' и где она расположена? –

+0

+1, по правильной причине :) – Habib

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

Я отредактировал свой ответ. –

Смежные вопросы