Ask Learn
		
	
					Preview
					Ask Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign inThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets a value indicating whether the user can give the focus to the splitter using the TAB key.
public:
 property bool TabStop { bool get(); void set(bool value); };public bool TabStop { get; set; }member this.TabStop : bool with get, setPublic Property TabStop As Booleantrue if the user can give the focus to the splitter using the TAB key; otherwise, false. The default is true.
When the user presses the TAB key, the input focus is set to the next control in the tab order of the form. Set TabStop to true to give input focus to a splitter so that it can be moved with the arrow keys as well as with the mouse. Starting in the .NET Framework 4, setting TabStop to false excludes the splitter and any of the controls that are contained in the SplitContainer from the collection of controls in the tab order. To enable controls to get focus by using the TAB key, create a control that inherits from SplitContainer. Create a new property named TabStop and override the ProcessTabKey method. The following example demonstrates how to accomplish this.
public class MySplitContainer : SplitContainer
{
    private bool tabStop = true;
    public new bool TabStop
    {
        get
        {
            return tabStop;
        }
        set
        {
            if (TabStop != value)
            {
                tabStop = value;
                OnTabStopChanged(EventArgs.Empty);
            }
        }
    }
    protected override bool ProcessTabKey(bool forward)
    {
        if (!tabStop)
        {
            if (SelectNextControl(ActiveControl, forward, true, true, false)) return true;
        }
        return base.ProcessTabKey(forward);
    }
}
Public Class MySplitContainer
    Inherits SplitContainer
    Private m_tabStop As Boolean = True
    Public Shadows Property TabStop() As Boolean
        Get
            Return m_tabStop
        End Get
        Set(ByVal value As Boolean)
            If TabStop <> value Then
                m_tabStop = value
                OnTabStopChanged(EventArgs.Empty)
            End If
        End Set
    End Property
    Protected Overloads Overrides Function ProcessTabKey(ByVal forward As Boolean) As Boolean
        If Not m_tabStop Then
            If SelectNextControl(ActiveControl, forward, True, True, False) Then
                Return True
            End If
        End If
        Return MyBase.ProcessTabKey(forward)
    End Function
    Public Function ShouldSerializeTabStop() As Boolean
        Return True
    End Function
End Class
You can manipulate the tab order by setting the control's TabIndex property value.
| Product | Versions | 
|---|---|
| .NET Framework | 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 | 
| Windows Desktop | 3.0, 3.1, 5, 6, 7, 8, 9, 10 | 
.NET feedback
.NET is an open source project. Select a link to provide feedback:
Ask Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign in