這可能是一個簡單的問題。我是C#(和大多數編程)的新手,我試圖製作一個由兩個文本框組成的程序。這些文本框中的信息會經常被刪除,並且需要輸入新的信息,因此它需要很快。爲了方便起見,我試圖讓退格鍵重新集中在前一個文本框上,而不是使用Shift + Space或單擊。這是我的。該程序運行,但下面的代碼似乎並沒有做我打算做的事情。使用退格移回到上一個文本框(C#)
if (e.KeyCode == Keys.Back && textBox2.TextLength == 0)
textBox1.Focus();
所以,當textbox2有0個字符和退格鍵後來鍵入,我希望它回到textbox1。謝謝你的幫助。
何時運行此代碼? – Yahya
正如@Yahya所指出的那樣,在哪種情況下你會這樣做?此外,該代碼的*意圖是什麼,但沒有發生?我會用'TextChanged'來做,只會檢查'textBox2.Text.Length == 0'。當textBox2的內容被改變*和*變爲空*(Backspace,選擇全部和刪除等)時,這會將焦點移到'textBox1'。 – Sinatr
我在KeyUp中這樣做,但已經嘗試了TextChanged。如果我只在TextChanged下使用textBox2.Text.Length == 0,一次點擊退格會導致文本長度達到零,並且光標立即進入textBox1。如果您需要刪除textBox2中的一個字符並重新輸入,這是一個痛苦。它需要你點擊tab再次移回到textBox2。如果textBox2中有1個字符,我基本上試圖在按退格鍵兩次時將它移回到textBox1。第一個清除該字段,第二個將光標移動到textBox1。 – Natchey