2012-04-26 93 views
0

有没有方法来设置tabControl的选定选项卡而没有selectedIndexchanged事件触发?设置选定的选项卡没有selectedIndexChanged事件触发

例如在这里,事件触发选择myTabPage2时,因为myTabPage1是默认:

Private Sub setupTabControl 
    If blnHasAccount=true then 
     MyTabControl.selectedTab=myTabPage1 
    else 
     MyTabControl.selectedTab=myTabPage2 
    End if 
End sub 

Private Sub MyTabControl_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyTabControl.SelectedIndexChanged 
    'Do stuff (but only when user has actually changed the tab themselves) 
End Sub 

回答

1

当您设置新的标签页,你可以删除事件处理程序

Try 
    RemoveHandler MyTabControl.SelectedIndexChanged, AddressOf Me.MyTabControl_SelectedIndexChanged 
    .. do your works to change page here 
    .. and then reconnect 
Finally 
    AddHandler MyTabControl.SelectedIndexChanged, AddressOf Me.MyTabControl_SelectedIndexChanged 
End Try 

一个try附上一切终于恢复是非常重要的从例外情况正确

+0

聪明。似乎运作良好。我感激不尽。 :-) – Urbycoz 2012-04-26 11:31:24

-1

可以伪造并检查ComboBox.Enabled作为标志在SelectedIndexChanged事件中使用,同时进行更改,然后在完成时设置为true。但是这样的事件仍然会引发(应该是这样),但至少可以确保Global ComboBox变量的状态。