1

WinForms コントロールの場合、特定の設定をサブ オブジェクトに移動したいと考えています。1 つはすべての UI 文字列を含むカスタム クラスで、もう 1 つは OpenFileDialog です。

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

これにより、サブオブジェクトがデザイナーに追加され、そのプロパティ (タイトル、デフォルト拡張子、フィルターなど) を編集できるようになります。ただし、変更はInitalizeComponentメソッドに追加されないため、失われます。

メソッドでこのプロパティを「永続化」することは可能InitializeComponentですか?

4

1 に答える 1

5

オブジェクト自体をシリアル化するようデザイナーに指示します。

  [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
  public OpenFileDialog DialogOpen {
    get { return m_dlgOpen; }
  }
于 2009-03-02T22:37:55.763 に答える