Para escribir la tecla de tabulación en un cuadro de texto, puede usar una secuencia de comandos como esta (se nombra el cuadro de texto que acepta las teclas de tabulación 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}; ");
O mejor, para evitar la codificación rígida, puede poner este código en una función llamada EnableTabType
. La función tiene solo un parámetro, que especifica qué es el TextBox
control donde debe habilitar la escritura de caracteres de tabulación.
[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}; ");
}
Fuente: http://www.beansoftware.com/ASP.NET-Tutorials/Access-Tab-Key.aspx