1

EditCellFormインターフェイスを実装する名前のフォームクラスがありますICoordsRequester

このインターフェースでは、Focus()メソッドを実装する必要があります。

フォームである限り、私のクラスはすでにFocus()メソッドを実装していますが、スーパークラスにあるため、コンパイラはメソッドを認識できませんWindows.Forms.Form

何か案が?

4

2 に答える 2

3

キーワードを使用して新しいFocusメソッドを作成し、インターフェースを実装できます。Shadows

Class EditCellForm 
    Inherits Form
    Implements ICoordsRequester

    Shadows Sub Focus Implements ICoordsRequester.Focus
        Mybase.Focus
    End Sub

End Class

またはメソッドの名前を変更します

Class EditCellForm 
    Inherits Form
    Implements ICoordsRequester

    Sub NewFocus Implements ICoordsRequester.Focus
        Focus()
    End Sub

End Class
于 2012-08-20T11:37:17.783 に答える
2

このメソッドは通常どおり実装できますが、別の名前で呼び出すだけです。次に、メソッドで、基本クラスのFocusイベントを呼び出すだけです。それがすべて同じことである場合、私はそれをプライベートにして、インターフェースを介してのみアクセスできるようにします。

Public Class EditCellForm
    Implements ICoordsRequester 

    Private Sub ICoordsRequester_Focus() Implements ICoordsRequester.Focus
        Me.Focus()
    End Sub
End Class
于 2012-08-20T11:40:33.457 に答える