정보 보관 ver1.0

동적 컨트롤에 대한 명시적 바인딩

James Wetzel 2011. 1. 10. 19:27

컨트롤을 태그에서 선언하여 만드는 경우, onclick과 같은 특성을 사용하거나 Visual Basic의 경우 Handles 키워드를 사용하여 이벤트를 메서드에 바인딩할 수 있습니다. 컨트롤을 코드에서 동적으로 만드는 경우에는 컴파일 타임에 컴파일러에 컨트롤에 대한 참조가 없기 때문에 이러한 메서드를 사용할 수 없습니다.

이러한 경우에는 명시적인 이벤트 바인딩을 사용해야 합니다. Visual Basic의 경우 동적으로 만들어진 컨트롤의 이벤트를 기존 메서드에 바인딩하기 위해 AddHandler 문을 사용할 수 있습니다. C#의 경우에는 대리자를 만들고 컨트롤의 이벤트와 연결할 수 있습니다. 다음 코드 예제에서는 ButtonClick이라는 메서드를 단추의 Click 이벤트에 바인딩하는 방법을 보여 줍니다.

Button b = new Button;
b.Text = "Click";
b.Click += new System.EventHandler(ButtonClick);
Placeholder1.Controls.Add(b);

참조 사이트 : http://msdn.microsoft.com/ko-kr/library/y3bwdsh3(VS.90).aspx

728x90
반응형