2013-04-26 4 views
-3

전 '의 InitializeComponent'C#에서의 InitializeComponent (현재 컨텍스트에 존재하지 않는)

비주얼 스튜디오 나를 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

; 'Controls.Add'를 호출하면 buttonDODAJ에 포함 된 내용이 무엇이든간에 여러분이 생각하는 버튼이 아닙니다. –

답변

2

초기화 순서와 관련이 없습니다. 당신이 만들기 전에 Controls에 컨트롤을 추가로

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

는 물론, 당신이 그것을 컴파일하면, 그것은 작동하지 않습니다 : 대신에, 컴파일러는 당신이 당신의 형태로 buttonDODAJ_Dodaj 핸들러 함수를 정의하지 않은 불평 컴포넌트 자체가 초기화되기 전에. 이것이 실제 코드라면, 어떻게 든 선을 재정렬 할 수있을 것 같습니다.

+0

이 metod가 있지만 여전히 작동하지 않습니다. 어떤 제안이 있습니까? – 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

나는 내 대답을 편집했습니다. –

관련 문제