2012-07-27 73 views
0

好吧,正如標題所說,我需要創建一個從commonDialog繼承的組件。我有一個已經創建和工作的表單,但我需要將它創建爲一個組件(如OpenFileDialog),以便在稍後的項目中使用(如「彈出窗口」)。窗體組件繼承CommonDialog

任何想法?

謝謝!

回答

2

CommonDialog是一個非常具體的基類,它被設計爲充當Windows內置的對話框的公共基類。它不是您自己組件的適當基類。只需從Component中派生出來。

一個簡單的例子:

using System; 
using System.ComponentModel; 
using System.Windows.Forms; 

class MyComponent : Component { 

    public bool ShowDialog() { 
     using (var dlg = new WindowsFormsApplication1.Form2()) { 
      if (dlg.ShowDialog() == DialogResult.OK) { 
       // Retrieve properties 
       //... 
       return true; 
      } 
      else return false; 
     } 
    } 

    // Add your own properties here 
    //... 

} 
+0

感謝您的快速回復。但是,即使我的表單只是一個常規表單(我的意思是我們創建的項目),該代碼仍然有效?因爲我不認爲我的窗體將具有ShowDialog()屬性。 – Leonardo 2012-07-27 03:04:17

+0

每個窗體都有ShowDialog()方法。當然,如果表單已經是你項目的一部分,你也可以使用你的表單而不將它包裝在一個Component中。使它成爲一個組件的唯一要點就是將它放在工具箱上。像OpenFormDialog一樣。 – 2012-07-27 03:40:49

+0

確切地說,這就是要點,所以我可以在以後重用它!謝謝,我明天就試試看吧! – Leonardo 2012-07-27 03:50:12