[제품종류] IEC667
[개발환경] Visual Studio 2008 VB
=============== 질 문 ===============유첨 그림과 같이 Main form 하나와 Child form 하나로 구성되어 있으며
각 Form의 버튼을 누르면 다른 form으로 이동하도록 간단하게 구성되어 있는 상태입니다.
맨 처음에 실행하면 Main form의 textbox에 커서가 위치하여 바코드 입력시
바코드 입력 문자열이 textbox에 표시되는데
버튼을 눌러 다른 form으로 이동했다가 다시 복귀하면 textbox에 커서가 위치하지 않아
일일이 textbox를 클릭하여 커서를 활성화 시켜야 하는 상황입니다.
Main form으로 화면전환이 되면 자동으로 textbox에 커서가 활성화 되게 하는 방법이 있는지요?
현재 enable은 textbox와 2개의 버튼만 되어있는 상황입니다.
=============== 답 변 ===============
안녕하세요.
TextBox의 Focus() 함수를 이용하면 되며, 방법은 2가지가 있습니다.
Case-1. 메인 폼 이동 버튼 클릭 이벤트에서 TextBox1.Focus() 함수 호출
Case-2. SmartForm의 OnEventFormChanged 이벤트에서 TextBox1.Focus() 함수 호출
[Case-1]
' SmartForm.Show(0) 호출 후 TextBox1.Focus() 함수를 호출
Private Sub SmartButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SmartButton2.Click
' 메인 폼으로 이동
SmartForm1.Show(0)
' 1번 방법 : 클릭 이벤트에서 Focus() 함수 호출
TextBox1.Focus()
End Sub
[Case-2]
SmartForm의 OnEventFormChanged 이벤트 코드에서 TextBox1.Focus() 함수를 호출
Private Sub SmartButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SmartButton2.Click
' 메인 폼으로 이동
SmartForm1.Show(0)
End Sub
Private Sub SmartForm1_OnEventFormChanged(ByVal iFormIndex As System.Int32) Handles SmartForm1.OnEventFormChanged
' 2번 방법 : SmartForm 의 OnEventFormChanged 이벤트에서 TextBox1.Focus() 함수 호출
' Form이 변경될 때마다 TextBox1로 포커스를 이동시킨다.
TextBox1.Focus()
End Sub
첨부한 프로젝트를 확인해보시기 바라며 추가로 궁금하신 점이 있다면
하단의 연락처로 연락주시기 바랍니다.
[이메일 주소] app@smartx.co.kr
[전화]070-7094-5002(S/W담당)
감사합니다