0
好吧,正如标题所说,我需要创建一个从commonDialog继承的组件。我有一个已经创建和工作的表单,但我需要将它创建为一个组件(如OpenFileDialog),以便在稍后的项目中使用(如“弹出窗口”)。窗体组件继承CommonDialog
任何想法?
谢谢!
好吧,正如标题所说,我需要创建一个从commonDialog继承的组件。我有一个已经创建和工作的表单,但我需要将它创建为一个组件(如OpenFileDialog),以便在稍后的项目中使用(如“弹出窗口”)。窗体组件继承CommonDialog
任何想法?
谢谢!
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
//...
}
感谢您的快速回复。但是,即使我的表单只是一个常规表单(我的意思是我们创建的项目),该代码仍然有效?因为我不认为我的窗体将具有ShowDialog()属性。 – Leonardo 2012-07-27 03:04:17
每个窗体都有ShowDialog()方法。当然,如果表单已经是你项目的一部分,你也可以使用你的表单而不将它包装在一个Component中。使它成为一个组件的唯一要点就是将它放在工具箱上。像OpenFormDialog一样。 – 2012-07-27 03:40:49
确切地说,这就是要点,所以我可以在以后重用它!谢谢,我明天就试试看吧! – Leonardo 2012-07-27 03:50:12