Control.SelectNextControl(Control, Boolean, Boolean, Boolean, Boolean) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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.
LinkLabel (quando não há nenhum link presente no controle)
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:
Se a CausesValidation propriedade estiver definida como false
, os Validating eventos e Validated serão suprimidos.