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

Definição

Ativa o próximo controle.

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

Parâmetros

ctl
Control

O Control no qual a pesquisa será iniciada.

forward
Boolean

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

tabStopOnly
Boolean

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

nested
Boolean

true para incluir controles filho aninhados (filhos de controles filho); caso contrário, false.

wrap
Boolean

true para continuar a pesquisa do primeiro controle na ordem de tabulação após o último controle ter sido atingido; caso contrário, false.

Retornos

true se um controle tiver sido ativado; caso contrário, false.

Exemplos

O exemplo de código a seguir mostra o SelectNextControl método que está sendo usado em um formulário que tem alguns controles. Sempre que você clicar no formulário, o próximo controle será ativado. A ActiveControl propriedade obtém o controle ativo no momento no controle de contêiner.

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 exemplo de código a seguir mostra o SelectNextControl método sendo usado em um formulário que tem um Button e alguns outros controles. Quando você clica no Button, o próximo controle após o Button é ativado. Observe que você precisa obter o pai do Button controle. Como Button não é um contêiner, 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

Comentários

O SelectNextControl método ativa o próximo controle na ordem de tabulação se o bit de estilo do Selectable controle estiver definido true como em ControlStyles, ele estiver contido em outro controle e todos os seus controles pai estiverem visíveis e habilitados.

Os controles Windows Forms na lista a seguir não são selecionáveis. Os controles derivados de controles na lista também não serão selecionáveis.

Quando você altera o foco usando o teclado (TAB, SHIFT+TAB etc.), chamando os métodos Select ou SelectNextControl, ou definindo a propriedade ContainerControl.ActiveControl como o formulário atual, os eventos de foco ocorrem na seguinte ordem:

  1. Enter

  2. GotFocus

  3. Leave

  4. Validating

  5. Validated

  6. LostFocus

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

Aplica-se a

Confira também