Winforms c#초점을 설정하는 첫 번째 아동의 통제여 tabpage
문제
가 Textbox
내에 중첩 TabControl
.
때 양식 로드,내가 하려는 것에 집중하는 Textbox
(기본적으로 포커스가 설정 TabControl
).
단순히 부르 textbox1.focus()
에 Load
행사의 형태로 나타나지 않습니다.
나는 할 수 있었다 초점을 수행하여 다음과 같다:
private void frmMainLoad(object sender, EventArgs e)
{
foreach (TabPage tab in this.tabControl1.TabPages)
{
this.tabControl1.SelectedTab = tab;
}
}
나의 질문은:
거기에 더 많은 우아한 방법으로 하면 이렇게 할 수 있습니까?
해결책
다음과 같은 솔루션입니다:
private void frmMainLoad(object sender, EventArgs e)
{
ActiveControl = textBox1;
}
더 나은 질문 그런데 왜...나는 전적으로 확인 질문에 대답을 하나입니다.
편집:나는 그것을 의심하는 무언가가는 사실과 모두 형식,그리고 TabControl 컨테이너지만,나는 확실하지 않다.
다른 팁
에 넣어보십시오 Form_Shown()
이벤트입니다.기 때문에 그것의 용기에 넣에 Form_Load 또는 양식()생성자 작동하지 않습니다.
을 사용하려고 textbox1.Select()
대 textbox1.Focus()
.이 몇 번입니다.
당신은 단지 추가할 필요가 있습니다.Select()에 대한 제어를 이 코드입니다.내가 이것을 사용하여 설정에 초점을 컨트롤하는 동안 유효성 검사 오류가있는 경우.
private void ShowControlTab(Control ControlToShow)
{
if (!TabSelected)
{
if (ControlToShow.Parent != null)
{
if (ControlToShow.Parent.GetType() == typeof(TabPage))
{
TabPage Tab = (TabPage)ControlToShow.Parent;
if (WOTabs.TabPages.Contains(Tab))
{
WOTabs.SelectedTab = Tab;
TabSelected = true;
return;
}
}
ShowControlTab(ControlToShow.Parent);
}
}
}
나는 사용자를 제어에서 다른 사용자가 제어할 수 있습니다.textbox1.Select()나를 위해 일했지만 textbox1.Focus()를 작동하지 않았습니다.
할 수도 있습니다 설정 Tabstop false,textbox1.Focus(),TabStop 사실이다.
private void ChildForm1_Load(object sender, EventArgs e)
{
ActiveControl = txt_fname;
}
내가 사용하는 이 코드는 이 작품에서 승리 탭을 제어 또는 dotnetbar supertab 제어