2015. 4. 25. 05:43

C# ComboBox Event Fire only once.

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

안녕하세요.

이번에 적어 드릴 내용은 커먼쪽에서 컨트롤을 해야 되는 부분중 하나 입니다.

사이트에서 조회 조건절을 만들다 보면 ComboBox 를 활용하는 경우가 많은데요.

문제는 VisualStudio 에서 디자인을 하게 되면, ComboBox 관련되서 자동으로 이벤트가 등록이 됩니다.

그중 하나가 SelectedIndexChanged인데요.

이게 문제점이 뭐냐면, 최고 Form_Load시 ComboBox를 Binding 처리 할 때 SelectedIndexChanged 이벤트를 타게 되는데 있습니다.

이럴 경우, 연쇄적으로 관련 ComboBox Event도 타게 되서, 연쇄적으로 Event가 fire되는데요.

이럴 경우를 대비해서 초기화(Init) 처리 할 때,

Binding 전에 해당 이벤트가 등록되어 있으면 Event를 제거 하고,

Binding 후 다시 이벤트를 등록 처리 하면 됩니다.

 

해당 내용입니다.

이런 내용을 Util이라든지, Common에 담아 두게 될 경우 일일이 화면마다 선언해서 처리 해야 되는데요.

Form을 인자값으로 받아서 세팅을 끝내면 많은 작업이 줄어 들꺼같네요.

감사 합니다.