Cita:
Iniciado por lennox Gracias CHOSS por tu pronta respuesta.
El TextBox es multiline, en las líneas se muestran los valores de una tabla (cada línea del TextBox por cada registro de la tabla). La idea es que cuando el usuario de doble click en uno de los campos, se pueda determinar el número de esa línea dentro del TextBox (por ejemplo: es la línea número cinco).
El código que tengo para mostrar los datos es el siguiente:
For i = 0 To resultadoSQL.FieldCount - 1
If TextBox1.Text <> "" Then
TextBox1.Text = TextBox1.Text & Chr(9) & resultadoSQL.GetName(i)
Else
TextBox1.Text = resultadoSQL.GetName(i)
End If
Next i
While resultadoSQL.Read
TextBox1.Text = TextBox1.Text & Chr(13) & Chr(10)
For i = 0 To resultadoSQL.FieldCount - 1
If i = 0 Then
TextBox1.Text = TextBox1.Text & resultadoSQL(i).ToString
Else
TextBox1.Text = TextBox1.Text & Chr(9) & resultadoSQL(i).ToString
End If
Next i
End While
Si necesitas todo el código lo puedo enviar completo. Gracias y saludos.
Creo que seria muchisimo mas facil usar Un DataGridView o un ListView que te maneja directamente la tabla y podrias controlar mejor las filas. . .
En un textbox nunca he exo algo parecido a lo que tu kieres hacer. . . pero se me ocurre hacer esto. . .
Código:
'Cuando se da doble click se selecciona parte del texto en el campo de texto
Dim Cadena As String'Contendra el texto seleccionado cuando se de dble click
Dim Part As String()'arreglo que contendra cada linea del textbox
Dim Linea As Integer = 0'mostrara que linea se dio doble click
Cadena = Mid(TextBox1.Text, TextBox1.SelectionStart + 1, TextBox1.SelectionLength)
Part = Split(TextBox1.Text, vbNewLine)'divide la cadena
For x As Integer = 0 To Part.Length - 1
If InStr(Part(x), Cadena) > 0 Then' busca lo seleccionado en alguna linea
Linea = x + 1
Exit For
End If
Next
MsgBox(Linea)
Te explico un poco el codigo. . .
Si en tu textbox tienes
Hola
Como
Estas
y le das doble click sobre el texto 'Como'. . . se sombreara esa parte entonces puedo saber que esta sombreado. . . que seria el texto "Como" luego
meto en un arreglo todas las lineas porque tan separados de vbNewline
cadena(0) =Hola'Representaria a la linea1
Cadena(1) = Como 'Representaria a la linea2
cadena(2) = Estas 'Representaria a la linea3
Ahora la cadena sombreada la busco en cada uno de las pociciones del arreglo si se encuentra ahi entonces muestro la pocision del arreglo mas uno que seria el numero de linea. . .
Bueno espero no haberte revolvido y haber sido claro :S jejeje cualkier cosa que no quedo claro con gusto vuelvo a explicarlo. . .
Aunq te recomiendo que uses el datagridview jejej
Saludos