C# 为脚本语言开发表单设计器,如何正确处理自定义类

C# 为脚本语言开发表单设计器,如何正确处理自定义类,c#,winforms,C#,Winforms,我想为脚本语言开发一个自定义表单设计器。控件的属性和行为与windows窗体控件非常相似 我知道设计这样的应用程序不是一件容易的事情,从头开始开发它对我来说有点高级。所以我在谷歌上搜索了一下,找到了很多c语言的自定义表单设计示例 我选择了这一个,在它上面工作: 大多数windows控件属性将不被使用,有些将是新的。让我们以一个按钮为例,我不需要很多属性,比如Apple Delp,TAG等等。一些将是新的,比如ControllerType和Actype。其他的都是一样的,但是有其他的名字,比如位置

我想为脚本语言开发一个自定义表单设计器。控件的属性和行为与windows窗体控件非常相似

我知道设计这样的应用程序不是一件容易的事情,从头开始开发它对我来说有点高级。所以我在谷歌上搜索了一下,找到了很多c语言的自定义表单设计示例

我选择了这一个,在它上面工作:

大多数windows控件属性将不被使用,有些将是新的。让我们以一个按钮为例,我不需要很多属性,比如Apple Delp,TAG等等。一些将是新的,比如ControllerType和Actype。其他的都是一样的,但是有其他的名字,比如位置,它会变成位置

我能想到的最好的方法是创建一个从Button派生的新类,并在此类上创建这些新属性

我设法实现了所有这些,但现在我遇到了PropertyGrid的问题。因为我没有使用大多数基类属性,所以我想将它们隐藏在PropertyGrid上,如果可能的话,重命名具有不同名称的属性。我无法控制基类的属性来设置[Browsablefalse]

因此,我的问题是:

1我所遵循的方法是正确的,还是有更好的方法

2我可以像我需要的那样控制PropertyGrid行为,还是需要开发自定义PropertyGrid

3如果我不能逃避创建自定义PropertyGrid,有人能告诉我如何做吗