У меня в моей программе С# 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();
};