如何在窗体上使用从.NET类(如TableLayoutPanel)派生的类

如何在窗体上使用从.NET类(如TableLayoutPanel)派生的类,.net,tablelayoutpanel,.net,Tablelayoutpanel,这是一个非常基本的问题,我相信你们中的许多人都能回答,并且不仅适用于TableLayoutPanel,也适用于所有其他.NET控件 我已经创建了一个从TableLayoutPanel派生的新类,我想在表单上使用这个派生,而不是.NET版本。我希望能够像使用工具箱中的所有其他控件一样使用拖放 然而,我不知道如何做到这一点;我还猜测,对于Dervive类,这种拖放到表单上的操作在设计器中是无法完成的;并且必须仅在代码中完成。我对此不确定,因为这是我的第一个.NETForms应用程序,所以我没有经验可

这是一个非常基本的问题,我相信你们中的许多人都能回答,并且不仅适用于TableLayoutPanel,也适用于所有其他.NET控件

我已经创建了一个从TableLayoutPanel派生的新类,我想在表单上使用这个派生,而不是.NET版本。我希望能够像使用工具箱中的所有其他控件一样使用拖放

然而,我不知道如何做到这一点;我还猜测,对于Dervive类,这种拖放到表单上的操作在设计器中是无法完成的;并且必须仅在代码中完成。我对此不确定,因为这是我的第一个.NETForms应用程序,所以我没有经验可以依靠

public class CustomTableLayoutPanel : TableLayoutPanel
{
}

承载此控件的表单(不是直接)在名为MainForm的表单中实现。我想我可以进入deigner.cs(MainForm.Designer.cs)文件,将成员变量更改为我的自定义类型,而不是.NET类型,但我不确定这是否是执行此类函数的既定方法,或者这是否是一种黑客行为。据我所知,您不应该手动更改和XXXdesigner.cs文件中的代码,因为这是自动生成的。

您必须至少成功编译一次类,然后它将显示在工具箱中。然后,您可以像拖放任何其他控件一样拖放它