Para digitar a tecla tab em uma caixa de texto, você pode usar um script como este (a caixa de texto que aceita as teclas tab é nomeada txtLongText
):
[VB.NET]
txtLongText.Attributes.Add("onkeydown", _
"if(event.which || event.keyCode){if ((event.which == 9)" & _
"|| (event.keyCode == 9)) {document.getElementById('" & _
txtLongText.ClientID + "').selection = " & _
document.selection.createRange();" & _
txtLongText.ClientID & ".selection.text = " & _
" String.fromCharCode(9);return false;}} else {return true}; ")
[C #]
txtLongText.Attributes.Add("onkeydown",
"if(event.which || event.keyCode){if ((event.which == 9)" +
"|| (event.keyCode == 9)) {document.getElementById('"+
txtLongText.ClientID + "').selection = document.selection.createRange();" +
txtLongText.ClientID + ".selection.text = String.fromCharCode(9);return false;}} else {return true}; ");
Ou melhor, para evitar codificação duro, você pode colocar esse código em uma função chamada EnableTabType
. A função possui apenas um parâmetro, que especifica qual é o TextBox
controle onde você precisa habilitar a digitação dos caracteres da guia.
[VB.NET]
Public Sub EnableTabType(tb As TextBox)
tb.Attributes.Add("onkeydown", _
"if(event.which || event.keyCode){if((event.which == 9)" & _
"|| (event.keyCode == 9)) {document.getElementById('" & _
tb.ClientID & "').selection=document.selection.createRange();" & _
tb.ClientID & ".selection.text = " & _
" String.fromCharCode(9);return false;}}else{return true};")
End Sub
[C #]
public void EnableTabType(TextBox tb)
{
tb.Attributes.Add("onkeydown",
"if(event.which || event.keyCode){if ((event.which == 9)" +
"|| (event.keyCode == 9)) {document.getElementById('"+
tb.ClientID + "').selection = document.selection.createRange();" +
tb.ClientID + ".selection.text = String.fromCharCode(9);return false;}} else {return true}; ");
}
Fonte: http://www.beansoftware.com/ASP.NET-Tutorials/Access-Tab-Key.aspx