Control.SelectNextControl(Control, Boolean, Boolean, Boolean, Boolean) Método

Definição

Ativa o controlo seguinte.

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

Parâmetros

ctl
Control

O Control momento em que começar a busca.

forward
Boolean

true para avançar na ordem de tabulação; false para recuar na ordem de tabulação.

tabStopOnly
Boolean

true ignorar os controlos com a TabStop propriedade definida como false; caso contrário, false.

nested
Boolean

true incluir controlos infantis aninhados (filhos de controlos infantis); caso contrário, false.

wrap
Boolean

true continuar a procurar a partir do primeiro controlo na ordem de tabulação após o último controlo ter sido alcançado; caso contrário, false.

Devoluções

true se um controlo fosse ativado; caso contrário, false.

Exemplos

O exemplo de código seguinte mostra o SelectNextControl método a ser usado numa forma que tem alguns controlos. Cada vez que clicas no formulário, o próximo controlo é ativado. A ActiveControl propriedade recebe o controlo atualmente ativo no controlo do contentor.

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

O seguinte exemplo de código mostra o SelectNextControl método a ser usado numa forma que tem a Button e alguns outros controlos. Quando clicas no Button, o próximo controlo a seguir Button é ativado. Repara que tens de chamar o progenitor do Button controlo. Como Button não é um contentor, chamar SelectNextControl diretamente no Button não alteraria a ativação.

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

Observações

O SelectNextControl método ativa o controlo seguinte na ordem de tabulação se o bit de Selectable estilo do controlo estiver definido para true em ControlStyles, está contido noutro controlo, e todos os seus controlos pais são visíveis e ativados.

Os controlos do Windows Forms na lista seguinte não são selecionáveis. Os controlos derivados dos controlos da lista também não serão selecionáveis.

Quando muda o foco usando o teclado (TAB, SHIFT+TAB, etc.), chamando os Select métodos ou SelectNextControl , ou definindo a ContainerControl.ActiveControl propriedade para a forma atual, os eventos de foco ocorrem pela seguinte ordem:

  1. Enter

  2. GotFocus

  3. Leave

  4. Validating

  5. Validated

  6. LostFocus

Se a CausesValidation propriedade for definida como false, os Validating eventos e Validated são suprimidos.

Aplica-se a

Ver também