gpt4 book ai didi

c# - 如何继承通用窗体并在 Visual Studio 设计器中打开它?

转载 作者:太空狗 更新时间:2023-10-29 20:09:51 26 4
gpt4 key购买 nike

在我的应用程序中,我有一个 BaseForm其中有一个通用成员:

public partial class BaseForm<T> : Form where T : Presenter
{
protected T Presenter;

public BaseForm()
{
InitializeComponent();
}
}

现在我需要的是有一个从我的 BaseForm 继承的表单

public partial class SampleForm : BaseForm<SamplePresenter>
{
public SampleForm()
{
InitializeComponent();
Presenter = new SamplePresenter();
}
}

问题是 Visual Studio 设计器没有显示我的 SampleForm源自 BaseForm<T> .

它给出了这个警告:

Warning 1 The designer could not be shown for this file because none of the classes within it can be designed. The designer inspected the following classes in the file:

SampleForm --- The base class 'Invoice.BaseForm' could not be loaded. Ensure the assembly has been referenced and that all projects have been built. 0 0

我该如何克服这个问题?

附言我看了this post但并没有真正了解如何解决这个问题。

最佳答案

如该帖子所述,设计者不支持这一点。

你需要这个基类:

public partial class SampleFormIntermediate : BaseForm<SamplePresenter>
{
public SampleFormIntermediate()
{
InitializeComponent();
Presenter = new SamplePresenter();
}
}

并且您需要为 Visual Studio 设计器使用此类:

public partial class SampleForm : SampleFormIntermediate
{
}

通过这种方式,Visual Studio“了解”在设计器中打开什么以及如何打开它。

关于c# - 如何继承通用窗体并在 Visual Studio 设计器中打开它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29349279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com