2012-04-26 75 views
0

selectedIndexchangedイベントを発生させずにtabControlの選択したタブを設定する方法はありますか?selectedIndexChangedイベントを発生させずに選択したタブを設定する

ここでイベントが発生myTabPage1がデフォルトであるためmyTabPage2を選択:新しいタブページを設定すると

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 

それは回復する最後の試みをすべてを囲むことが重要です例外から正しく

+0

Clever。うまくいくと思う。私は負債です。 :-) – Urbycoz

-1

変更が行われたときにSelectedIndexChangedイベントで使用するフラグとしてComboBox.Enabledを偽装してチェックすることができます。しかし、このような出来事はまだ起きるでしょう(しかし、そうすべきでしょうか?)しかし、少なくともあなたはGlobal 'ComboBox'変数のステータスを保証することができます。

関連する問題