У меня в моей программе С# textBox
Мне нужно, чтобы при запуске программы фокус был на текстовом поле
Я пробую это в Form_Load:
MyTextBox.Focus();
но он не работает
У меня в моей программе С# textBox
Мне нужно, чтобы при запуске программы фокус был на текстовом поле
Я пробую это в Form_Load:
MyTextBox.Focus();
но он не работает
Задайте свойство ActiveControl формы, и все будет в порядке.
this.ActiveControl = yourtextboxname;
проверьте порядок вкладок и убедитесь, что текстовое поле установлено на ноль
Вы можете попробовать:
Согласно документации:
Метод Select активирует элемент управления, если элемент управления Selectable бит стиля установлен в true в ControlStyles, он содержится в другом и все его родительские элементы управления являются видимыми и включенными.
Вы можете сначала проверить, можно ли выбрать элемент управления, просмотрев свойство MyTextBox.CanSelect.
Если вы хотите установить фокус при первом показе формы, попробуйте обработать событие Form.Shown и сделать это там. В противном случае используйте Control.VisibleChanged.
Вы не можете установить фокус на элемент управления, если он не был отображен. Form.Load() происходит до визуализации элементов управления.
Перейдите к событиям формы и дважды щелкните по событию "Shown". В форме, показанной обработчиком события, вызовите метод control.Focus().
private void myForm_Shown(object sender, EventArgs e)
{
// Call textbox focus method
txtMyTextbox.Focus();
}
Textbox.Focus() "Запрашивает", чтобы установить фокус на элемент текстового поля. Например, если видимость элемента скрыта, Focus() не будет работать. Поэтому убедитесь, что ваш элемент виден перед вызовом Focus().
Причина, по которой вы не можете заставить ее работать, заключается в том, что событие Load вызывается до того, как форма будет нарисована или отображена.
Мне нравится рассказывать место для пиццы, как сделать свою пиццу, а затем попросить их отправить вам изображение того, сколько пепперони находится на вашей пицце, прежде чем они это сделают.
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();
}
}
}
использовать отображаемое событие формы и установить
MyTextBox.Focus();
Я решил проблему с изменением свойства "TabIndex" TextBox. Я установил 0 для TextBox, что хочу сфокусировать его на Форме при запуске программы.
Установите значение свойства индекса вкладки = 0, а затем в функции загрузки формы напишите:
YourTextboxName.Focus();
Это будет работать.
это сработало для меня установить tabindex на 0 this.yourtextbox.TabIndex = 0;
Вы можете использовать либо textBox1.select();, либо TabIndex в настройках текстового поля. TabIndex=0 фокусируется первым.
Установите для Tabstop значение True, а для TabIndex - минимальное значение для элемента управления, на котором необходимо сосредоточиться.
например Если у вас есть 2 TextBoxes: TextBox1 и TextBox2, установите для Tabstop значение True для обоих значений, а для TabIndex - 0 и 1 соответственно. Когда форма загрузится, фокус будет на TextBox1 и при нажатии клавиши "Tab" фокус переместится на TextBox2.
в своей форме перейдите в свойства и убедитесь, что для свойства "TopMost" установлено значение true, это решит вашу проблему.
В фокусе фокуса jquery
$(function() {
$("#txtBox1").focus();
});
или в Javascript, который вы можете сделать
window.onload = function() {
document.getElementById("txtBox1").focus();
};