2011-07-01 2 views
2

응용 프로그램에 파일을로드 할 때 탭의 가시성을 설정하는 데 문제가 있습니다. 사용자가 응용 프로그램을 시작하면 환영 탭이 표시됩니다. 사용자가 파일을 선택하여 열면 새로운 편집기 형식으로 파일을로드하지만 잘 모르겠습니다. 양식을로드하고 편집기 탭의 가시성을 설정하십시오.C# WinForms : 새 폼로드시 Tab 가시성 선택

  if (this.openEditorDialog.ShowDialog(this) == DialogResult.OK && editForm != null) 
     { 
      editForm.Close(); 
      editForm = new EditorForm(this); 
      editForm.OpenFile(this.openEditorDialog.FileName); 
      editForm.Closing += new CancelEventHandler(EditorForm_Closing); 
      editForm.Show(); 
     } 

나는 editForm.EditorTab.Show()를 시도했다. 뿐만 아니라 Activecontrol = editForm.EditorTab을 사용할 수 없습니다. 미리 감사드립니다.

  Application.DoEvents(); 
     EditorTab.Focus(); 
+0

하드 해당 탭이 무엇을하고 있는지 추측 할 수 있습니다. 확실히 그것은 OpenFile() 메서드에서 EditorForm 자체에 의해 제어되어야합니까? –

답변

1

을 TabControl은 SelectedTab 속성이 있습니다 : check MSDN 그 내용은 form.show 명령 후

+0

아, 네,이 작품은 대단히 감사합니다! – jonalodev

-1

는 다음을 수행합니다. 나는 표본이 있다는 것을 알고 그것을 발견 할 필요가있다.

은 ... 죄송합니다, 그것은 SelectTab입니다 : here on MSDN

void SetVisibleTab(TabPage tabPage) { 
    myTabControl.SelectTab(tabPage); 
} 
+0

DoEvents? ...정말? 왜? – IAbstract

+0

포커스를 시도하기 전에 .Show 메서드를 완료 할 수 있기 때문에. .show가 완료되도록 허용하지 않을 경우 .focus가 안정적으로 작동하지 않습니다. DoEvents가 좋은 경우는 거의 없습니다. 계속하기 전에 창에있는 메시지 펌프가 처리되지 않은 메시지를 처리하도록합니다. –

+0

'.Focus()'를 사용할 필요가 없으므로'.DoEvents()'가 불필요합니다. – IAbstract