Vb.net 禁用BindingNavigator中的PositionItem

Vb.net 禁用BindingNavigator中的PositionItem,vb.net,winforms,Vb.net,Winforms,我使用禁用了PositionItem框 BindingNavigatorPositionItem.Enabled = False 但每次单击下一行时,它都会再次启用 我甚至试图通过添加 Private Sub BindingNavigatorMoveNextItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorMoveNextItem.Click B

我使用禁用了PositionItem框

BindingNavigatorPositionItem.Enabled = False
但每次单击下一行时,它都会再次启用

我甚至试图通过添加

 Private Sub BindingNavigatorMoveNextItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorMoveNextItem.Click
    BindingNavigatorPositionItem.Enabled = False
 End Sub
如果启用或未启用,如何进行控制?

Ref:

BindingNavigator按钮的单击事件是默认的封装行为,用于基于BindingNavigatorPosition设置其他按钮的Enable属性,因此您可以设置
Me.BindingNavigator1.PositionItem.Available=False
BindingNavigatorPositionItem.Visible=False

您可以覆盖事件的功能,如下所示:

Private Sub BindingNavigatorAddNewItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BindingNavigatorAddNewItem.Click  
  BindingNavigator1.BeginInvoke(New MethodInvoker(AddressOf DisableItems))  
End Sub 

Private Sub DisableItems()  
  BindingNavigatorMoveFirstItem.Enabled = False 
  BindingNavigatorDeleteItem.Enabled = False 
  BindingNavigatorAddNewItem.Enabled = False 
  BindingNavigatorMoveLastItem.Enabled = False 
  BindingNavigatorMoveNextItem.Enabled = False 
  BindingNavigatorMovePreviousItem.Enabled = False 
  BindingNavigatorPositionItem.Enabled = False 
End Sub`   

您可以将
BindingNavigatorPositionItem.Enabled=False
语句放在BindingNavigatorPositionItemCotFocus事件处理程序中,如下所示:

Private Sub BindingNavigatorPositionItem_GotFocus(ByVal sender As Object,
                                                  ByVal e As System.EventArgs) Handles BindingNavigatorPositionItem.GotFocus
    BindingNavigatorPositionItem.Enabled = False
End Sub

好好尝试。我为你工作真是太好了。。我将把这个作为回答。。