gpt4 book ai didi

vb.net - Visual Studios 设计器实现中的表单继承

转载 作者:行者123 更新时间:2023-12-04 18:28:44 26 4
gpt4 key购买 nike

我正在将一个项目从 Visual Studio 2003 转移到 2005,并且刚刚看到了

The event Click is read-only and cannot be changed

当使用继承的表单时,无论基表单控件上的修饰符如何,都将使设计器中的基表单中的所有控件只读(尽管在 2003 年它不是这样工作的)。

我发现这篇文章提到此功能已被暂时“禁用” http://social.msdn.microsoft.com/Forums/en-US/winformsdesigner/thread/c25cec28-67a5-4e30-bb2d-9f8dbd41eb3a

任何人都可以确认是否再使用此功能?或者如何围绕它进行编程以能够使用 Base Control Events 并且仍然有一个设计器?

这是我发现的一种方法,但当它用于为您安装管道时非常痛苦。甚至只是隐藏您现在手动执行的控件之一。

Public Class BFormChild

Friend Overrides Sub cmdApply_Click(ByVal sender As Object, ByVal e As System.EventArgs)
MyBase.cmdApply_Click(sender, e)
End Sub
Friend Overrides Sub cmdCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs)
MyBase.cmdCancel_Click(sender, e)
End Sub
Friend Overrides Sub cmdOk_Click(ByVal sender As Object, ByVal e As System.EventArgs)
MyBase.cmdOk_Click(sender, e)
End Sub

End Class

最佳答案

生成事件的基类需要标准的事件生成模式。这必须在代码中完成,设计者不能自动生成它。它永远不会。

Public Class BFormBase
Public Event ApplyClicked As EventHandler

Protected Overridable Sub OnApplyClicked(ByVal e As EventArgs)
'--- Possible default implementation here
'...
RaiseEvent ApplyClicked(Me, e)
End Sub

Private Sub cmdApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdApply.Click
OnApplyClicked(e)
End Sub

关于vb.net - Visual Studios 设计器实现中的表单继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2742782/

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