...이벤트 관련해서 질문입니다.
이벤트 속성을 직접 코드로 작성하였을 때 디버깅을 해보아도 제대로 실행이 되지 않고
폼 디자인 창에서 속성창에(번개모양) 들어가서 직접 지정을 해준다음
그안에 코드를 넣어주면 제대로 실행이 됩니다.
왜 이런 현상이 있는건가요??
비주얼스튜디오2010 버젼 사용하고 있습니다.
무언가를 만져줘야 하는건가요?
안녕하세요?
1. 모양을 가진 클래스 파일(Form, 사용자정의컨트롤)은 *.cs와 *.designer.cs 로 구성됩니다.
폼이름이 Test 인 경우라면, 솔루션탐색기에
Test.cs / Test.Designer.cs 로 이루어 집니다.
2. 이때, *.cs 파일은 우리가 코딩하는 영역이고, *.designer.cs는 Visual Studio가 자동으로
코드를 구성해주는데, 이를테면 디자인 화면에서 버튼하나를 끌어다 놓으면, desinger.cs에
버튼을 표시하기 위해 자동으로 코드가 작성됩니다.
3. 속성창에서 번개표시를 누르고, 이벤트를 선택하여 더블클릭하면, 아래와 같이 처리해 줍니다.
ex) button1 [노랑 표시부분은 자동생성]
*.cs -----------------------------------------------------------
private void button1_Click(object sender, EventArgs e)
{
.... 내용은 우리가 직접 작성
}
-------------------------------------------------------------
*.desinger.cs --------------------------------------------------
this.button1.Click += new System.EventHandler(this.button1_Click); <-- 자동으로 추가
-------------------------------------------------------------
4. 이벤트가 동작하기 위해서는 3번에서 처럼 이벤트핸들러(델리게이트)가 등록되어야 합니다.
그런데, 질문하신 것처럼 *.cs에서 직접 코드만 작성하실 경우, *.desinger.cs에는
자동으로 이 코드가 추가되지 않습니다. 때문에 이벤트가 동작하지 않는 것입니다.
의문사항에 답변이 되었기를 바랍니다.
감사합니다.
written by
legend
C과외/C#과외/VB과외 프로그래밍 과외.서울인천경기-방문강의.기타전국-화상강의.제대로 체계적으로 배우고싶은분들.15년경력 프리랜서.삼성/포스코/한진 등.서울,인천,경기,분당,일산,과천,산본,부천,부평,평촌,안산,안양,광명,용인,시흥,성남,수원,평택,오산,화성,동탄,천안,아산,
c#프로그래밍1:1과외, 15년 이상 프로젝트 경력의 프리랜서 직접 강의,
c#프로그래밍 과외, c#프로그래밍교육, IT·컴퓨터·컴퓨터과외비·프로그래밍과외, c# 강좌, c# 프로그래밍,
데이터베이스, 데이터베이스 프로그래밍, db, DB, 과외비,컴퓨터1:1,컴퓨터개인지도,컴퓨터실무과외,컴퓨터과외,컴퓨터1:1과외,
서울,인천,경기,부천,안산,분당,일산,천안,과천,산본,안양,광명,평촌,수원,평택,오산,용인,부평,시흥,성남,화성,동탄
광주,부산,대구,대전,마산,창원,울산,전주,군산,원주,강릉,충청남도,충청북도,강원도,경상남도,경상북도,전라남도,전라북도,제주도
'좋은질문' 카테고리의 다른 글
C# Label For문 진행중 실시간으로 보이게하기 (0) | 2014.09.04 |
---|---|
C# 랜덤 넘버 다수 라벨 (0) | 2014.09.02 |
C# 텍스트파일 Dataset으로 읽어오기 (0) | 2014.09.01 |
C#의 OLEDB로 엑셀파일을 생성해서 내용을 쓰려고 하는데요. (0) | 2014.08.31 |
C# 프로그래밍 관련 도서 추천 바랍니다. (0) | 2014.08.31 |