.net - 用自定义类 .NET Winforms 替换现有控件

标签 .net class controls

我有一个现有的 .NET 应用程序,其中已经创建了大量控件。

现在我有一个新的自定义控件类 - 例如 - 按钮(从“按钮”继承),具有额外的属性、方法等。
编译正常,它显示在我的工具栏中。

如何告诉 VS 我想用新控件替换现有控件?

我的意思是,如果我打开设计器代码并手动更改控件的类型,VS 真的很不高兴,并且设计会因令人讨厌的错误消息而崩溃和崩溃。

有没有办法在不破坏 VS 中的设计的情况下更改设计器生成的代码?

或者除了手动删除每个控件并创建一个新控件之外,还有其他方法吗?这将是一个真正的麻烦,因为当我删除控件时,所有控件的处理程序都将在表单的代码中被删除。喜欢:

处理 myControl.Click ... 处理 myControl.MouseHover ... 等。

欢迎任何提示!

最佳答案

完整的程序如下。

做好备份!

转到解决方案资源管理器窗口(Ctrl Alt L 是快捷方式)并单击“显示所有文件”按钮。
选择要进行控件替换的表单。
单击小三角形以显示“designer.vb”文件。

打开它。

搜索要替换的控件实例。
检查是否出现以下情况:

Me.ControlToBeReplaced = New System.Windows.Forms.TypeOfControlToReplace()

替换您对控制的定义。
对每次出现的情况执行相同的操作:
Friend WithEvents ControlToBeReplaced As System.Windows.Forms.TypeOfControlToReplace

构建您的解决方案

关于.net - 用自定义类 .NET Winforms 替换现有控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5016708/

相关文章:

c# - 将一个对象分配给同一类的另一个对象

获取/设置多个成员的 C++ 类函数

.net - C# WinForms UserControl 鼠标事件帮助

c# - foreach 从下往上填充

c# - 让我的 userControl 在工具箱上有自己的图标

c# - n层架构: best place to store business objects?

.net - 在干草堆位图中匹配图案/针(最好是位图)?

c# - 触发事件时的事件和委托(delegate)顺序

Python 错误 : List Object Not Callable with For Loop

swift - swift 3 中的类和结构之间的主要区别是什么?