2013-09-04 2 views
0

의 방법으로 폼의 기본 클래스에 표시 핸들러는, 그 표시됨에 이벤트 핸들러를 등록 디자이너, 나는 실제로 그 messsage를 얻고 디자이너에있는 모양을 그것을 닫는 시각적으로 편집하는 것은 불가능하다.내가 폼에서 상속 기본 클래스가 디자이너

아마도 Close()MessageBox이 발생하지 않도록 사용할 수있는 부울이 있습니까?

(리틀 배경 : Close 항상라고하지만, 일부 런타임 설정 및 데이터에 의존하지 않음) 일부 이벤트뿐만 아니라 디자이너에서 해고

+1

'Form'의'DesignMode' 속성을 사용해 보셨나요? (http://msdn.microsoft.com/en-us/library/system.web.ui.control.designmode.aspx) –

+1

@ AlessandroD'Andria 나는 지금있다. 그게 바로 제가 찾고 있던 것입니다. 대답 해 주시면 받아 들일 수 있습니다. –

+0

때때로 DebugMode가 제대로 작동하지 않기 때문에 조심하십시오. –

답변

0

, 그것은 윈폼 디자이너의 위지윅 (WYSIWYG) 기능을 제공하는 것이다. 주목할 만하게 페인트는, 또한 보여졌다, etcetera. DesignMode 속성은 디자인 타임에 이벤트 처리기가 실행 중인지 여부를 알 수 있도록 제공됩니다. 수정 :

void BaseClass_Shown(object sender, EventArgs e) { 
    if (!this.DesignMode) { 
     Close(); 
     MessageBox.Show("This cannot be opened."); 
    } 
} 

이 문제는 파생 된 양식에 대해서도 발생합니다. 당신은 너무 많은 도움이 될 수도 있습니다.

+0

파생 된 형식으로 실행하고 싶습니다. 이것은 "모듈"에 대한 기반이며, 특정 설정이 설정되어있는 경우에만이 모듈이 표시되기를 원합니다. –

+0

프로그래머가 메시지 상자가 아니라 예외로 잘못 처리하고 있음을 상기시킵니다. 이것은 InvalidOperationException과 함께보고되어야합니다. –

+0

이것은 프로그래머의 메시지는 아니지만 사용자 메시지입니다. 사용자가 먼저 선택해야합니다. –