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 回答