2012-07-27 75 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