문제

WinForms 컨트롤의 경우 특정 설정을 하위 객체로 이동하고 싶습니다. 그중 하나는 모든 UI 문자열을 포함하는 커스텀 클래스이고 다른 하나는 OpenFiledialog입니다.

class MyControl: Control
{
  // ...
  private OpenFileDialog m_dlgOpen = new OpenFileDialog();
  public OpenFileDialog DialogOpen
  {
     get { return m_dlgOpen; }
  }
}

이렇게하면 서브 객체를 디자이너에게 추가하고 속성 (예 : 제목, 기본 확장, 필터)을 편집 할 수 있습니다. 그러나 변경 사항은 NTO에 추가됩니다 InitalizeComponent 방법이므로 손실됩니다.

이 속성이 InitializeComponent 방법?

도움이 되었습니까?

해결책

디자이너에게 객체 자체를 직렬화하도록 지시하십시오.

  [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
  public OpenFileDialog DialogOpen {
    get { return m_dlgOpen; }
  }
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top