bueno vi varias veces q se pueden numerar las lineas (principalmente en programas referidos a la programacion).
bueno como yo estoy intentando hacer un editor de codigo, me gustaria saber como se hace.
algun lugar donde leer sobre esto o ideas. (preferentemente no codigo, solo quiero algo asi como un empujon).
gracias de antemano.
Se me ocurre que lo pintes a mano, usando Drawing. Otra cosa podría ser utilizar un RichTextBox junto a otro, entonces uno sea la numeración y el otro sea en donde va a estar el código.
Solo se me ocurren esas dos :)
but i want to do something like this:
http://wiki.sa-mp.com/wroot/images2/4/43/Editor_pawno_small.jpg (http://wiki.sa-mp.com/wroot/images2/4/43/Editor_pawno_small.jpg)
busca en internet hay pila de ejemplos...aca tenes el mas facil:
Numbering lines of RichTextBox in .NET 2.0 (http://www.codeproject.com/KB/edit/numberedtextbox.aspx)
y aca otro parecido pero maneja diferentes fuentes para el richtextbox:
Line Numbering of RichTextBox in .NET 2.0 (http://www.codeproject.com/KB/edit/RTF_LineNumbering.aspx)
LineNumbers for the RichTextBox (http://www.codeproject.com/KB/cpp/linenumbers_for_rtb.aspx)
saludos.
gracias es lo q buscaba.
bueno otra vez yo. ultimamente andube preguntando demasiado, pero creanme q no es x falta de voluntad.
bueno, con la funcion q me dio seba, cree una funcion para numerar las lineas, pero resulta q tenia un par de bugs. intente sacarselos pero no he podido hacerlo. mi funcion quedo asi:
Public Sub UpdateNumber(ByVal text As RichTextBox, Optional ByVal newline As Boolean = False)
Try
Main.Numerator.Font = text.Font
Main.Numerator.Clear()
Dim index As Integer, fLine As Integer, lLine As Integer
Dim pos As New Point(0, 0)
index = text.GetCharIndexFromPosition(pos)
fLine = text.GetLineFromCharIndex(index)
pos = Cursor.Position
index = text.GetCharIndexFromPosition(pos)
If newline = True Then
lLine = text.GetLineFromCharIndex(index) + 1
Else
lLine = text.GetLineFromCharIndex(index)
End If
If text.Lines.Count() > 200 And lLine < text.Lines.Count - 1 Then lLine += 1
For l = fLine To lLine
If 100000 < l < 1000000 Then
Main.Numerator.Text &= l & "." & vbNewLine
ElseIf 10000 < l < 100000 Then
Main.Numerator.Text &= " " & l & "." & vbNewLine
ElseIf 1000 < l > 10000 Then
Main.Numerator.Text &= " " & l & "." & vbNewLine
ElseIf 100 < l < 1000 Then
Main.Numerator.Text &= " " & l & "." & vbNewLine
Else
Main.Numerator.Text &= " " & l & "." & vbNewLine
End If
Next
Catch ex As Exception
End Try
End Sub
la verdad es q lo q yo quiero es algo asi: http://solidfiles.com/d/a017/ (http://solidfiles.com/d/a017/)(es el programa el cual estoy intentando copiar pero con mejoras, si no lo quieren bajar de ese link y lo quieren buscar se llama pawno.)