Previous | Index | Next 

[INFO] It’s impossible to set the initial tab in an SSTab control

Unlike the SSTab control, the .NET TabControl component doesn’t support the ability to set at design time the page to be displayed when the form loads at runtime. For this reason, migrated .NET applications always display the first tab when a form appears, and it is necessary to manually assign the desired tab in the Form_Load event handler:

    Private Sub Form_Load() Handles MyBase.Load
        ' display the second tab when the form appears
        SSTab1.Tab = 1   
    End Sub

A consequence of this limitation is that inserting the following statement in the Form_Load method

    SSTab1.Tab = 0

fires neither the Click click nor .NET events such as OnSelecting or OnSelectedIndexChanged.

If your form relies on the correct firing of one of these events, you should change the current tab twice, as in:

    SSTab1.Tab = 1
    SSTab1.Tab = 0

However, it is crucial that these statements be located in the handler for the Activate event, rather than Form_Load method, and that they be executed only the very first time the form is displayed. You can put the IsFirstActivateEvent boolean property to good use:

    Private Sub Form_Activate() Handles MyBase.Activate
        If IsFirstActivateEvent Then
            SSTab1.Tab = 1
            SSTab1.Tab = 0
        End If
        '...
    End Sub

 

Previous | Index | Next