문제
다음 중 현재 폼에서 'cmd숨기기' 단추를 클릭하는 경우, DateDue 컨트롤이 표시되지 않도록 하기 위한 이벤트 프로시저로 옳은 것은?
① Private Sub cmd숨기기_Click( ) Me.[DateDue]!Visible = False End Sub ② Private Sub cmd숨기기_DblClick( ) Me!DateDue.Visible = True End Sub ③ Private Sub cmd숨기기_Click( ) Me![DateDue].Visible = False End Sub ④ Private Sub cmd숨기기_DblClick( ) Me.DateDue!Visible = True End Sub
정답
3번
해설
정답: 3. 단추를 '클릭'할 때 동작해야 하므로 이벤트는 _Click이어야 하고, 컨트롤을 숨기려면 Visible 속성을 False로 설정해야 한다. 컨트롤 참조는 Me![DateDue].Visible 또는 Me!DateDue.Visible 형식이 올바르다. 따라서 Me![DateDue].Visible = False인 ③이 옳다.
오답 풀이
- 1번:
Me.[DateDue]!Visible은 컨트롤·속성 구분자(! 와 .)를 잘못 사용해 오류이므로 옳지 않다. - 2번: _DblClick(더블 클릭) 이벤트이고 Visible=True라 숨겨지지 않으므로 옳지 않다.
- 3번: _Click 이벤트에 Visible=False로 컨트롤을 숨기므로 옳다.
- 4번: _DblClick 이벤트이고
Me.DateDue!Visible은 구분자가 잘못되었으며 True라 옳지 않다.
보충 개념
개체 참조에서 !는 사용자가 만든 컨트롤·필드 이름 앞에, .는 속성·메서드 앞에 쓴다. Visible 속성을 False로 두면 컨트롤이 화면에 표시되지 않는다.