2011-05-23 42 views
0

當我按下文本框中的任何鍵時,它將返回「A」字符。如何使用vb.net或c#替換textbox keypress事件中的多個字符?

代碼示例:

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress 
    e.KeyChar = "A" 
End Sub 

,所以我希望得到多個字符。如何獲得?

代碼示例:

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress 
    e.KeyChar = "AB" 
End Sub 

上述編碼不工作。 e.keychar只能得到一個只有「A」的字符纔會返回。如何獲得所有人物。

+2

'KeyPress'報告用戶按下一個鍵。 「AB」不是關鍵,所以這不起作用。你試圖完成什麼? 「TextChanged」可能就是你正在尋找的東西。 – 2011-05-23 17:27:04

回答

1

你可以附加到文本框是「AB」,並停止該事件

var text = sender as TextBox; 
    text.Text = text.Text + "AB"; 
    e.Handled = true; 

,或者你可以使用TextChanged

+0

好的謝謝,但是當你指定文本到文本框時,光標位置移動到第一個位置(即)selectionstart屬性爲零。 – Balachandran 2011-05-24 01:55:45

0

在文本框的按鍵事件中,您用keyChar'A'代替捕獲的任何鍵(e.keychar)。如果你想讓所有的鍵通過文本框,刪除替代'A'的代碼來處理任何按鍵。換句話說,所有的鍵都會傳遞到文本框中。

您是否想限制他們進入鑰匙A-Z?

相關問題