이벤트 핸들러 로직을 공유하기

풀다운메뉴와 툴바의 메뉴는 형식이 다른 콘트롤이나, 동일한 기능을 하는 다른 콘트롤이다. 즉, 이 콘트롤들의 대표적인 이벤트인 클릭(click)을 통해서 동일한 일을 하게 된다. 이럴 때 클릭에 대한 이벤트를 공유한다. 과거 VB6에서는 콘트롤배열(control arrays)이란 개념으로 수행했으나, 이제는 컨트롤의 이벤트 메소드의 Handles문을 통하여 구현할 수 있다.

다음의 경우는 풀다운메뉴를 클릭했을 때(mnuWaldram.Click)와 툴바메뉴를 클릭했을 때(WaldramToolStripButton.Click)에 대한 이벤트 핸들러를 공유한 것이다.

[vbnet]Private Sub mnuWaldram_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuWaldram.Click, WaldramToolStripButton.Click
mnuWaldram.Checked = Not mnuWaldram.Checked
WaldramToolStripButton.Checked = mnuWaldram.Checked
My.Settings.WaldramChecked = mnuWaldram.Checked
End Sub[/vbnet]

Print Friendly, PDF & Email