visual tutorial studio form c# winforms

studio - windows forms c# tutorial



¿Cómo poner foco en TextBox cuando se carga el formulario? (12)

En jquery establecer foco

$(function() { $("#txtBox1").focus(); });

o en Javascript puedes hacer

window.onload = function() { document.getElementById("txtBox1").focus(); };

Tengo en mi programa de C # textBox

Lo necesito cuando comience el programa, el foco estará en el cuadro de texto

Intento esto en Form_Load:

MyTextBox.Focus();

pero no funcionará


Establezca la propiedad ActiveControl del formulario y debería estar bien.

this.ActiveControl = yourtextboxname;


La razón por la que no puede hacer que funcione es porque se llama al evento Load antes de que se dibuje o se renderice el formulario.

Le gusta decirle a un lugar de pizza cómo preparar su pizza y luego pedirle que le envíe una foto de la cantidad de pepperoni que tiene en su pizza antes de que lo hicieran.

using System; using System.Windows.Forms; namespace Testing { public partial class TestForm : Form { public TestForm() { InitializeComponent(); Load += TestForm_Load; VisibleChanged += TestForm_VisibleChanged; Shown += TestForm_Shown; Show(); } private void TestForm_Load(object sender, EventArgs e) { MessageBox.Show("This event is called before the form is rendered."); } private void TestForm_VisibleChanged(object sender, EventArgs e) { MessageBox.Show("This event is called before the form is rendered."); } private void TestForm_Shown(object sender, EventArgs e) { MessageBox.Show("This event is called after the form is rendered."); txtFirstName.Focus(); } } }


No puede establecer el foco en un control si no se ha procesado. Form.Load () ocurre antes de que se procesen los controles.

Vaya a los eventos del formulario y haga doble clic en el evento "Mostrado". En el controlador de eventos del formulario mostrado, llama al método control.Focus ().

private void myForm_Shown(object sender, EventArgs e) { // Call textbox''s focus method txtMyTextbox.Focus(); }


Puede usar textBox1.select(); o el TabIndex en la configuración del cuadro de texto. TabIndex=0 focoused primero.


Resolví mi problema al cambiar la propiedad "TabIndex" de TextBox. Configuré 0 para TextBox que quiero enfocar en Formulario cuando se inicia el programa.


Si solo desea establecer el foco la primera vez que se muestra el formulario, intente manejar el evento Form.Shown y hacerlo allí. De lo contrario, use Control.VisibleChanged .


Tu podrías intentar:

MyTextBox.Select();

De acuerdo con la documentación:

El método Select activa el control si el bit de estilo seleccionable del control se establece en verdadero en ControlStyles, está contenido en otro control y todos sus controles principales están visibles y habilitados.

Primero puede verificar si el control puede seleccionarse inspeccionando la propiedad MyTextBox.CanSelect .


para mí funcionó tabindex a 0 this.yourtextbox.TabIndex = 0;


usar formulario mostrado evento y conjunto

MyTextBox.Focus();


verifique su orden de tabulación y asegúrese de que el cuadro de texto esté configurado en cero


Textbox.Focus() "Intenta" para establecer el foco en el elemento de la Textbox.Focus() texto. En el caso de que la visibilidad del elemento esté oculta, por ejemplo, Focus() no funcionará. Así que asegúrese de que su elemento esté visible antes de llamar a Focus() .