0

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

たとえば、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
4

2 に答える 2

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

例外から正しく回復するには、すべてを「最後に試す」で囲むことが重要です。

于 2012-04-26T11:12:20.150 に答える
-2

変更を行う際にSelectedIndexChangedイベントで使用するフラグとしてComboBox.Enabledを改ざんして確認し、完了したらtrueに戻すことができます。ただし、このようなイベントは引き続き発生しますが(必要ですか?)、少なくともグローバル'ComboBox'変数のステータスを確認できます。

于 2016-08-21T20:19:41.243 に答える