我正在将项目从Visual Studio 2003迁移到2005并且刚刚看到了
事件Click是只读的,无法更改
当使用继承的表单时,无论基本表单控件上的修饰符如何,都将在设计器中从基本只读中创建所有控件(尽管在2003年它没有以这种方式工作)。
我发现这个帖子提到此功能已被暂时“禁用” http://social.msdn.microsoft.com/Forums/en-US/winformsdesigner/thread/c25cec28-67a5-4e30-bb2d-9f8dbd41eb3a
任何人都可以确认此功能是否已被使用?或者如何围绕它进行编程以便能够使用基本控制事件并且还有设计师?
这是我找到的一种方式,但是当它曾经为你做管道时非常痛苦。甚至只是隐藏你现在手动执行的一个控件。
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
答案 0 :(得分:3)
生成事件的基类需要标准事件生成模式。必须在代码中完成,设计人员无法自动生成它。它永远不会。
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