Visual Studio и SharpDevelop не настраивают делегатов для одинаковой обработки событий. То, как они настроены, немного отличается. Это затрудняет использование 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
Так что элемент управления объявлен не только с другой областью действия (это может быть проблемой также, но не с темой этого поста), но и с остроумием. Затем обработчик события назначается ему предложением 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
Самая досадная вещь в этом - даже если это делается в одну сторону, другая идея переделает это, имея двойные объявления и, конечно, ошибки времени компиляции.
Кто-нибудь знает способ обойти это, каким-то образом настроить обработчики по умолчанию? даже если их можно отключить, просто набрать их вручную?