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