Udostępnij za pośrednictwem


Control.SelectNextControl(Control, Boolean, Boolean, Boolean, Boolean) Metoda

Definicja

Aktywuje następną kontrolkę.

public:
 bool SelectNextControl(System::Windows::Forms::Control ^ ctl, bool forward, bool tabStopOnly, bool nested, bool wrap);
public bool SelectNextControl (System.Windows.Forms.Control ctl, bool forward, bool tabStopOnly, bool nested, bool wrap);
public bool SelectNextControl (System.Windows.Forms.Control? ctl, bool forward, bool tabStopOnly, bool nested, bool wrap);
member this.SelectNextControl : System.Windows.Forms.Control * bool * bool * bool * bool -> bool
Public Function SelectNextControl (ctl As Control, forward As Boolean, tabStopOnly As Boolean, nested As Boolean, wrap As Boolean) As Boolean

Parametry

ctl
Control

Element Control , na którym ma rozpocząć wyszukiwanie.

forward
Boolean

true aby przejść do przodu w kolejności tabulacji; false aby przejść do tyłu w kolejności tabulacji.

tabStopOnly
Boolean

true aby zignorować kontrolki z właściwością ustawioną TabStop na false; w przeciwnym razie false.

nested
Boolean

true do uwzględnienia zagnieżdżonych (elementów podrzędnych) kontrolek podrzędnych; w przeciwnym razie , false.

wrap
Boolean

true aby kontynuować wyszukiwanie z pierwszej kontrolki w kolejności tabulacji po osiągnięciu ostatniej kontrolki; w przeciwnym razie , false.

Zwraca

true jeśli kontrolka została aktywowana; w przeciwnym razie , false.

Przykłady

Poniższy przykład kodu przedstawia metodę SelectNextControl używaną w formularzu, który zawiera pewne kontrolki. Za każdym razem, gdy klikniesz formularz, zostanie aktywowana następna kontrolka. Właściwość ActiveControl pobiera obecnie aktywną kontrolkę w kontrolce kontenera.

private void Form1_Click(object sender, EventArgs e)
{
    Control ctl;
    ctl = (Control)sender;
    ctl.SelectNextControl(ActiveControl, true, true, true, true);
}
Private Sub Form1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Click
    Dim ctl As Control
    ctl = CType(sender, Control)
    ctl.SelectNextControl(ActiveControl, True, True, True, True)
End Sub

Poniższy przykład kodu przedstawia metodę SelectNextControl używaną w formularzu z kontrolką Button i innymi kontrolkami. Po kliknięciu kontrolki następna Buttonkontrolka Button po aktywowaniu zostanie aktywowana. Zwróć uwagę, że musisz uzyskać element nadrzędny kontrolki Button . Ponieważ Button nie jest kontenerem, wywołanie SelectNextControl bezpośrednio w Button obiekcie nie spowoduje zmiany aktywacji.

private void button1_Click(object sender, EventArgs e)
{
    Control p;
    p = ((Button) sender).Parent;
    p.SelectNextControl(ActiveControl, true, true, true, true);
}
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
    Dim p As Control
    p = CType(sender, Button).Parent
    p.SelectNextControl(ActiveControl, True, True, True, True)
End Sub

Uwagi

Metoda SelectNextControl aktywuje następną kontrolkę w kolejności tabulacji, jeśli bit stylu kontrolki Selectable jest ustawiony true na w ControlStylesprogramie , jest zawarty w innej kontrolce, a wszystkie jej kontrolki nadrzędne są widoczne i włączone.

Kontrolki Windows Forms na poniższej liście nie można wybrać. Kontrolki pochodzące z kontrolek na liście również nie będą wybieralne.

Po zmianie fokusu przy użyciu klawiatury (TAB, SHIFT+TAB itd.), wywołując Select metody lub SelectNextControl , ustawiając ContainerControl.ActiveControl właściwość na bieżący formularz, zdarzenia fokusu występują w następującej kolejności:

  1. Enter

  2. GotFocus

  3. Leave

  4. Validating

  5. Validated

  6. LostFocus

Jeśli właściwość jest ustawiona CausesValidation na false, Validating zdarzenia i Validated są pomijane.

Dotyczy

Zobacz też