Visual StudioとSharpDevelopの両方が、同じ方法でイベントを処理するようにデリゲートを設定することはありません。それらの設定方法は少し異なります。これにより、ある場所でVSを使用し、別の場所(同じプロジェクトで)で#Developを使用することが困難になります。
たとえば、VBでは、VisualStudioは次のことを行います。
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がそれをやり直し、宣言が重複し、もちろんコンパイル時のエラーが発生することです。
誰かがこれを回避する方法、デフォルトのハンドラーをカスタマイズする方法を知っていますか?オフにする方法があるとしても、手動で入力するだけでいいのでしょうか。