在多个项目中使用可继承的表单

时间:2012-04-16 01:09:15

标签: c# .net winforms visual-studio-2010

我创建了一个继承自system.windows.forms.form的Windows玻璃表单,然后将其放在一个类库项目中。

我现在想在多个其他Windows窗体项目中使用此窗体。我该怎么做?

我已经创建了对类库的引用,但我不知道如何实际获取表单。

2 个答案:

答案 0 :(得分:2)

如果您已经有了参考资料,那么您需要做的就是使用它。将表单的命名空间添加到您的类文件中:

using NamespaceOfWindowsGlassForm;

然后使用表格:

WindowsGlassForm form = new WindowsGlassForm();

答案 1 :(得分:2)

听起来你希望你的项目中的表格可以从我所知道的玻璃表格中获得。

确保您的GlassForm类是公开的;例如

public class GlassForm : System.Windows.Forms.Form
{
}

现在您已经验证它是公共的,对于您希望从GlassForm继承的任何表单,将继承的类从Form更改为GlassForm。例如

public class MyForm : Form
{
}

public class MyForm : YourClassLibraryNamespace.GlassForm
{
}

您的表单现在将来自GlassForm,并且也将在WinForm设计器中起作用。如果您只是想要在调用意义上使用项目中的表单,那么您可以执行Bob Horn所说的内容。

using YourClassLibraryNamespace;

public class MyForm : Form
{
    public void ShowGlassFormModal() {
        using (GlassForm form = new GlassForm()) {
            form.ShowDialog();
        }
    }

    public void ShowGlassForm() {
        new GlassForm().Show();
    }
}