답변:
ActiveControl양식 의 속성을 설정하면 괜찮을 것입니다.
this.ActiveControl = yourtextboxname;
MyTextBox.Focus();작동 하지 않았습니까? 프로그램이 실행되면 정상적으로 작동하는 것 같습니다.
this.ActiveControl = textBox1;모두 쓰기 "textBox1"의 의미를 이해합니다. "youttextboxname"같은 소리... = "MyTextBox";
시도해 볼 수 있습니다 :
설명서에 따르면 :
컨트롤의 선택 가능한 스타일 비트가 ControlStyles에서 true로 설정되고 다른 컨트롤에 포함되어 있고 모든 부모 컨트롤이 표시되고 활성화 된 경우 Select 메서드는 컨트롤을 활성화합니다.
MyTextBox.CanSelect 속성 을 검사하여 컨트롤을 선택할 수 있는지 먼저 확인할 수 있습니다 .
양식을 처음 표시 할 때만 초점을 설정하려면 Form.Shown 이벤트를 처리 하고 수행하십시오. 그렇지 않으면 Control.VisibleChanged를 사용하십시오 .
당신이 그것을 작동시킬 수없는 이유 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();
}
}
}
탭 인덱스 속성 값을 0으로 설정 한 다음로드 함수 쓰기 양식으로 설정하십시오.
YourTextboxName.Focus();
작동합니다.
Tabstop을 True로 설정하고 TabIndex를 포커스가 필요한 컨트롤의 최소값으로 설정하십시오.
예를 들어 TextBox1과 TextBox2가 2 개인 경우 Tabstop과 TabIndex를 각각 Tabstop으로 0과 1로 설정합니다. 폼이로드되면 포커스가 TextBox1에 있고 'Tab'키를 누르면 포커스가 TextBox2로 이동합니다.
tabindex를 0으로 설정했습니다. this.yourtextbox.TabIndex = 0;
마지막으로 메트로 프레임 워크를 사용하는 문제를 발견했으며 모든 솔루션이 metroTextBox와 함께 작동하지 않으며 모든 솔루션이 load, show, visible_change, events의 일반 textBox와 함께 작동하며 탭 인덱스 = 0도 유효합니다.
// private void Form1_VisibleChanged(object sender, EventArgs e)
// private void Form1__Shown(object sender, EventArgs e)
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Select();
this.ActiveControl=textBox1;
textBox1.Focus();
}
jquery에서 포커스 설정
$(function() {
$("#txtBox1").focus();
});
또는 자바 스크립트로 할 수 있습니다
window.onload = function() {
document.getElementById("txtBox1").focus();
};
c#및 winforms입니다.
ComboBox. 그러나 그것은 작동하지 않습니다!