gpt4 book ai didi

.net - Visual Studio 与 #Develop - 默认事件处理程序

转载 作者:行者123 更新时间:2023-12-04 22:17:41 33 4
gpt4 key购买 nike

Visual Studio 和 SharpDevelop 不会都设置委托(delegate)来以相同的方式处理事件。它们的设置方式有点不同。这使得很难在一个地方使用 VS 而在另一个地方(在同一个项目上)使用#Develop。

例如,在 VB 中,Visual Studio 执行以下操作:

Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.OK
Me.Close()
End Sub

和 ...
Friend WithEvents OK_Button As System.Windows.Forms.Button

以便声明控件,不仅具有不同的范围(这也可能是一个问题,但不是本文的主题),而且具有 withevents。然后通过handles 子句将事件处理程序分配给它。

在#Develop中,它是这样完成的......
Sub OK_ButtonClick(sender As Object, e As EventArgs)

End Sub

和 ...
Private button1 As System.Windows.Forms.Button

然后,在 InitializeComponent 方法中
AddHandler Me.button1.Click, AddressOf Me.OK_ButtonClick

最烦人的事情是,即使它以一种方式完成,另一个 ide 也会重做它,有重复的声明,当然还有编译时错误。

有谁知道解决这个问题的方法,一些自定义默认处理程序的方法?即使它只是可以关闭它们的某种方式,所以它可以手动输入?

最佳答案

Sharpdevelop 是在 LGPL 许可下发布的,因此您可以随时获取源代码并进行任何您想要的更改。

对于您想要的更改,您可能需要更改或覆盖 VBNetDesignerGenerator 类中的 InsertComponentEvent 和 CreateEventHandler 方法。它在 FormsDesigner 项目中。

可以获取源码here .

关于.net - Visual Studio 与 #Develop - 默认事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/566837/

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