2011-11-16 16 views
12

Tengo un cuadro de texto en forma de diálogo, quiero enfocarlo de forma predeterminada una vez que se cargue, pero por alguna razón, no sucede. He intentado: centrar y form_load event y poner el método de enfoque justo después de la inicialización del formulario.cómo establecer el foco en el cuadro de texto en un formulario de diálogo usando C#

+0

¿Dónde está su código? Usted dice que ha intentado cosas pero no veo evidencia de eso. –

+0

Como parece que estás hablando de WinForms (por ejemplo, tu referencia a 'Form_Load'), agregué la etiqueta de WinForms para ti. –

Respuesta

25

Puede llamar al método Control.Focus() en el controlador de eventos Activated del Formulario de diálogo o establecer el orden del índice de tabulación o utilizar el método Select().

+1

bueno, nunca pensé que fue causado por tabindex, ¡gran ayuda! – ikel

+0

Me pones en la dirección correcta usando el evento 'Enter' –

1

¿Ha intentado utilizar textBox1.Select();?

+0

sí, lo intenté, no funcionó, entonces gracias a AVD, él me ayudó – ikel

1

Pruebe usar textbox2.Select() en el evento de carga del formulario de diálogo.

9

Usar evento de formulario mostrado en su lugar Cargar. El control no puede enfocarse mientras que la forma no se muestra.

public partial class Form1 : Form 
{ 
    private void Form1_Shown(object sender, EventArgs e) 
     { 
       textBox1.Focus(); 
     } 
} 
+0

poniendo control.focus() en el evento mostrado del formulario funciona muy bien. – docesam

0

También puede utilizar el método ActiveControl del cuadro de diálogo. Por ejemplo, si crea el formulario de diálogo en su código como [Diálogo de formulario = formulario nuevo()], entonces usaría el cuadro de diálogo .ActiveControl = "Nombre de su control".

Cuestiones relacionadas