이것은 간단한 질문 일 수 있습니다. 저는 C# (그리고 대부분의 프로그래밍)을 처음 접했고 두 개의 텍스트 상자로 구성된 프로그램을 만들려고합니다. 이 텍스트 상자의 정보는 자주 삭제되며 새로운 정보가 입력되어야하므로 신속해야합니다. 편의를 위해 Shift + Space를 사용하거나 클릭하지 말고 이전 텍스트 상자에서 백 스페이스 키를 다시 맞추려고합니다. 여기에 내가 가진 것이있다. 프로그램은 실행되지만 아래 코드는 내가 의도 한대로하지 않는 것 같습니다. TextBox2를 0 문자가와 백 스페이스 이후에 키가 때 백 스페이스를 사용하여 이전 텍스트 상자로 돌아 가기 (C#)
if (e.KeyCode == Keys.Back && textBox2.TextLength == 0)
textBox1.Focus();
그래서, 나는 TextBox1에 다시 이동을하고 싶습니다. 어떤 도움을 주셔서 감사합니다.
그리고이 코드는 언제 실행됩니까? – Yahya
@Yahya가 지적한대로, 어떤 경우에 그렇게 했습니까? 또한 그 코드에서 의도하는 * 것이지만 일어나지는 않습니까? 나는'TextChanged'로 그것을 할 것이고'textBox2.Text.Length == 0'만을 체크 할 것입니다. 이것은'textBox2' 콘텐츠가 * 변경되고 * 비어있는 모든 경우 (backspace, 모두 선택 및 삭제 등)에 초점을두고 'textBox1'로 이동합니다. – Sinatr
KeyUp에서이 작업을 수행하고 있지만 TextChanged를 시도했습니다. textChanged에서 textBox2.Text.Length == 0 만 사용하면 백 스페이스를 한 번 누르면 텍스트 길이가 0이되고 커서는 즉시 textBox1로 이동합니다.textBox2에서 1 문자를 삭제하고 다시 입력해야하는 경우 고통입니다. 다시 textBox2로 이동하려면 탭을 눌러야합니다. textBox2에 문자가 1 개있는 경우 backspace를 두 번 누르면 textBox1로 되돌아 가려고합니다. 첫 번째는 필드를 지우고 두 번째는 커서를 textBox1로 이동합니다. – Natchey