Rediger

Del via


SplitContainer.TabStop Property

Definition

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, set
Public Property TabStop As Boolean

Property Value

true if the user can give the focus to the splitter using the TAB key; otherwise, false. The default is true.

Remarks

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
End Class

You can manipulate the tab order by setting the control's TabIndex property value.

Applies to

See also