나는 USB 바코드 스캐너를 사용하는 간단한 ASP.NET C# 응용 프로그램을 개발 중입니다. 기본보기의 하단에 제출 단추가있는 세부 정보보기가 있습니다. 페이지가로드되면 양식에서 URL의 ID를 가져 와서 첫 번째 필드에 입력 한 다음 커서 포커스를 두 번째 필드로 설정합니다.IF 문으로 Enter 키 처리
USB 스캐너는 스캔 한 번호와 기본으로 Enter 키를 입력합니다. 커서가 TextBox2를에있는 경우
- 및 키를 누르면 입력 TextBox2를의 데이터를 유지하고 textbox3에 커서를 이동 : 나는 기본적으로 같은 것을 말한다 거기에 처리기를 넣어 싶습니다.
- 커서가 textbox3에 있고 Enter 키를 누른 경우 데이터를 textbox3에 보관하고 제출 버튼을 누릅니다.
아이디어는, 사용자가 각 필드에 클릭하지 않음) 제출 버튼마다 발동)가없는 형태의 각 입력란에 연속 충전에 3-4 바코드를 스캔하고, B 수 있다는 종래 (Enter 키가 비활성화 된 경우) 스캔.
다음은 URL에서 ID를 가져와 textbox1을 채운 다음 텍스트 상자 2에 포커스를 설정하는 코드의 시작입니다.
protected void DetailsView1_DataBound(object sender, EventArgs e)
{
if (DetailsView1.CurrentMode == DetailsViewMode.Insert)
{
if (!string.IsNullOrEmpty(Request.QueryString["id"]))
{
TextBox tbox1 = DetailsView1.FindControl("TextBox1") as TextBox;
TextBox tbox2 = DetailsView1.FindControl("TextBox2") as TextBox;
if (tbox != null)
{
tbox.Text = Request.QueryString["id"].ToString();
}
SetFocus(tbox2);
}
}
}
'textbox1'을 사용하면, 현재 어떤 컨트롤에 포커스가 있는지 확인하고 설정할 수 없습니까? 예를 들어'tbox2'에 포커스가 있으면'SetFocus (tbox3)'? – Brian